Einzelnen Beitrag anzeigen

rabatscher

Registriert seit: 13. Dez 2007
Ort: Bruck an der Mur
69 Beiträge
 
#17

AW: Anwendung nur einmal starten

  Alt 18. Aug 2023, 12:28
In der JVCL (JvJCLUtils.pas) gibt es eine Helperfunktion:

"ActivatePrevInstance"

Sie aktiviert ein Fenster, falls es dieses schon mal gibt und gibt dann True zurück.

Wir benutzen das, um ein Programm nur einmal auszuführen und es dann zu aktivieren, falls
der Benutzer es nochmals starten will.

Ein Aufruf bei uns ist z.B.:

if ActivatePrevInstance(TfrmObserverMain.ClassName, '') then
Exit;


Das Funktioniert natürlich nur auf dem "aktuellen" Desktop und nicht über Session Grenzen hinaus! Ansonsten würde ich einen
globalen Mutex/Semaphore benutzen...

wobei TfrmObserverMain das Hauptfenster der Anwendung ist.
  Mit Zitat antworten Zitat