1. Kopie vom TC gleichzeitig erlaubt

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Gingerbreadman
Junior Member
Junior Member
Posts: 3
Joined: 2006-04-17, 22:38 UTC
Location: Hamburg

1. Kopie vom TC gleichzeitig erlaubt

Post by *Gingerbreadman »

Irgendwie lief der TC bereits -im Hintergrund- als ich ihn starten wollte,
und total vergessen, das er bereits lief. Irgendwie ist man auch 'n bissel
blöd und vergesslich. Naja, so hatte ich es aber auch eingestellt, das der
TC nur 1mal gestartet werden kann.
Aber nu, warum kann ich ihn nicht starten ?????????? Bis ich einen Blick
in den Taskmanager tat...... Könnte da nicht 'ne Meldung kommen, dass der TC bereits läuft ?
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Post by *raeubi »

Bei Dir ist sicherlich "Bewege Symbol in Systembereich der Taskleiste wenn Prog. minimiert" in der TC-Konfiguration (Operation) angehackt ?

In dem Fall ist es so wie Du sagst, der TC kommt bei einem erneutem Starten nicht in den Vordergrund. :roll:

Dies ist nicht so, wenn dieser oben beschriebene Hacken in der Konfiguration nicht gesetzt ist.
In dem Fall ist es so, dass der TC bei einem erneuten Starten die bereits laufende TC-Instanz in den Vordergrund holt.

Frage: Ist dieses Verhalten gewollt ... :?:
Wenn ja dann ist das nicht intuitiv.
Räubi
(#2852 + #287609)
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Ich habe das jetzt gerade mal getestet.

Wenn der TC in den Sys-tray verschoben wird, dann muss man ja beim Programmwechsel mit Alt+TAB zusätzlich 'Enter' drücken, um den TC hervorzuholen.

Wenn man nun TC neu startet mit 'nur 1 Kopie von TC gleichzeitig erlaubt', dann wird er vom Systray in die normale Taskleiste verschoben. Startet man nun noch einmal, wird er auch in den Vordergrund gebracht.

Also solltest Du Dir vielleicht einfach angewöhnen, den TC 2 mal zu starten.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Post by *raeubi »

einfach angewöhnen, den TC 2 mal zu starten.
Das wäre z.Z. ein Workaround.

Für die 7.0 sollte C.G. dass bereinigen!
Räubi
(#2852 + #287609)
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Ich bin nicht wirklich sicher, ob das zu beheben ist.

Dass man 'enter' nach alt+Tab drücken muss, lässt sich ja offenbar auch nicht verhindern (sonst Hätte @Ghisler dies sicher längst geatn).

Und wenn dieses 'nicht in den Vordergrund bringen' ebenfalls damit zusammenhängt, dann gibt's da vielleicht keine Lösung.

Aber hören wir mal, was der Autor dazu zu sagen hat...


sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Post by *raeubi »

Aber hören wir mal, was der Autor dazu zu sagen hat
Wäre spannend, stimmt.

Aus meiner Erfahrung ist es so:
(hab' selbst schon so programmiert)
01.) Programm Instanz 1 wird gestartet.
02.) Programm Instanz 1 prüft: läuft bereits eine Prog.-Instanz?
03.) Programm Instanz 1 stellt fest: NEIN es läuft noch keine Instanz.
04.) Programm Instanz 1 lädt Einstellungen und zeigt irgendwas an ...
05.) Programm Instanz 1 wird minimiert (Icon "verschwindet" im Systray der Taskleiste).
06.) Programm Instanz 2 wird gestartet.
07.) Programm Instanz 2 prüft: läuft bereits eine Prog.-Instanz?
08.) Programm Instanz 2 erkennt: JA es läuft bereits eine Instanz.
09.) Programm Instanz 2 stellt die Anzeige der Instanz 1 wieder her.
10.) Programm Instanz 2 bringt die Anzeige der Instanz 1 in den Vordergrund.
11.) Programm Instanz 2 beendet sich selbst.

(von der Instanz 2 bekommt man bei deren Start nichts zu sehen)

So etwas in der Art hat C.G. schon implementiert.
Funktioniert ja auch.
Nur in Verbindung mit der Systray scheint's einen Issue zu geben.
Den ich jedoch nicht nachvollziehen kann.
Räubi
(#2852 + #287609)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50567
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Wenn man nun TC neu startet mit 'nur 1 Kopie von TC gleichzeitig erlaubt', dann wird er vom Systray in die normale Taskleiste verschoben. Startet man nun noch einmal, wird er auch in den Vordergrund gebracht.
Interessant, hier unter Windows 2000 ist das definitiv NICHT so - Total Commander wird wiederhergestellt. Allerdings erlaubt Windows nicht, dass er sich in den Vordergrund drängt. Mal sehen, ob sich das irgendwie ändern lässt...
Author of Total Commander
https://www.ghisler.com
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Post by *raeubi »

Bei meinen Prog's nutze ich Windows-API, wenn nur eine Instanz laufen soll.

1.) via FindWindow mach' ich das:
08.) Programm Instanz 2 erkennt: JA es läuft bereits eine Instanz.
2.) via SetForegroundWindow
10.) Programm Instanz 2 bringt die Anzeige der Instanz 1 in den Vordergrund.
3.) via ShowWindow mach' ich das:
09.) Programm Instanz 2 stellt die Anzeige der Instanz 1 wieder her.
Das SetForegroundWindow funzt nur, wenn es VOR dem ShowWindow ausgelöst wurde.
Das setze ich unter WinNT, Win2k und WinXP so ein. :wink:
Ging bisher immer. 8)
Räubi
(#2852 + #287609)
CoolWater
Power Member
Power Member
Posts: 744
Joined: 2003-03-27, 16:33 UTC

Post by *CoolWater »

Was noch sicherer als SetForegroundWindow funktioniert, ist SetWindowPos mit HWND_TOPMOST...

Gruß
CoolWater
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50567
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Hmm, SetForegroundWindow benutze ich auch...
Was noch sicherer als SetForegroundWindow funktioniert, ist SetWindowPos mit HWND_TOPMOST
Das setzt das Programm zwar vor alle anderen, gibt ihm aber NICHT den Fokus...
Author of Total Commander
https://www.ghisler.com
Post Reply