![]() |
Mehrfachstart einer .exe verhindern
Hallo,
ich habe hier vor langer Zeit ein Thread gefunden, dass meine Frage schon beantwortet hat, leider finde ich es nicht mehr :-( Also: Ich möchte das meine exe nur einmal gestartet werden kann, wie realiziere ich das? Bzw. weiß Jemand welches Post das war, welches diese Frage schon beantwortet hat? Gruß, Ferby |
Re: Mehrfachstart einer .exe verhindern
|
Re: Mehrfachstart einer .exe verhindern
Den Link fand ich auch nimmer aber ich kopier mir immer interessante Sachen in Textdateien
das hatte hier mal Lemmy geschrieben Zitat:
Delphi-Quellcode:
program Project1;
uses Forms,Windows, Unit1 in 'Unit1.pas' {Form1}; //-->hier stehen deine Namen der Forms bzw. Units {$R *.RES} const MutexName = 'Mein Programm'; //-->quasi der Name, unter dem Windows dein Programm anspricht var hMutex: THandle; begin hMutex := CreateMutex(NIL, True, MutexName); //-->Versuch, dem Programm den obigen Mutex zuzuweisen if (hMutex = 0) OR (GetLastError = ERROR_ALREADY_EXISTS) then begin CloseHandle(hMutex); halt; end; //hat es nicht geklappt, dann wird das Programm //gar nicht erst initialisiert (also nicht gestartet) Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; CloseHandle(hMutex); end. |
Re: Mehrfachstart einer .exe verhindern
Hallo,
danke super |
Re: Mehrfachstart einer .exe verhindern
Die Mutex-Variante ist allerdings blöd, wenn ein Programm mal abstürzt und der Mutex dann nicht richtig gelöscht wird - dann lässts sich gar nicht mehr starten ;) Gerade beim Debuggen ist der Griff zu Ctrl+F2 ja manchmal verlockend, weil so schön abkürzend.
Ich hab ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz