Hallo zusammen,
in meiner 'Not' wende ich mich mal wieder hier an das Forum.
(anmerken möchte ich, dass ich sowohl hier im Forum als auch allgemein dem Problem schon geraume Zeit nachgehe und leider zu keiner Lösung komme, vllt. ja auch zu dumm)
Problem:
Ein als .exe kompiliertes AutoIT Script wird im zum erstenmal gestartet (das Prog ist eine Art Log - ist aber letztlich egal) und nistet sich ausschliesslich als TrayIcon in den SystemTray (die möglichen Aktionen innerhalb des Programms werden dort über ein Tray Menue durchgeführt - also nix Active and/or Existing Window)
Nun gibt es die seltene Situation das diesselbe .exe nochmal gestartet werden soll/muss. Um versehentliches Starten zu verhindern bzw. zumindest auf den Umstand hinzuweisen, würde ich dies gerne dem Anwender mitteilen. Nach dem Motto: Die Anwendung läuft schon, willst du wirklich diese nochmals starten.
Und genau hier komme ich nicht so recht weiter:
Im aufgeführten Snip ist alles schön, bis auf die Tatsache, das die Prüfung (natürlich) beim Starten der 2. Instanz wieder durchlaufen wird und 'fragt',
was nach dem Bestätigen des erneuten Startens unschön ist.
Irgendwie drehe ich mich da im Kreis - weiss jemand Rat oder hätte einen Tip ???
Spoiler anzeigen
If _Singleton("cdeZeiterfassung.exe", 1) = 0 Then
$cdeInstance = MsgBox(36,"Das Programm läuft bereits", "Eine Instanz der EXE läuft bereits!" & @CRLF & "Wollen Sie tatsächlich eine weitere Instanz starten ?")
If $cdeInstance = 6 Then
ShellExecute(@ScriptDir & "\xyz.exe")
MsgBox(64,"Neue Instanz", "Die Anwendung wurde nochmals gestartet")
Else
MsgBox(64,"Neue Instanz", "Die Anwendung wurde NICHT nochmals gestartet")
Exit
EndIf
Else
MsgBox(64,"Neue Instanz", "SingleStart")
EndIf
Danke schon einmal hier an das SUPER FORUM
mfg
ugt100