![]() |
Programm nur einmal starten
Nächstes Problem. Ein Programm darf nur einmal gestartet werden. Dazu habe ich diese Funktion:
Delphi-Quellcode:
Aufgerufen wird die Funktion z.B. so:
function AppAlreadyUsed(path:string):boolean;
var mHandle: THandle; ergebnis:boolean; Begin ergebnis:=false; mHandle := CreateMutex(nil,True,PAnsiChar('Global\'+path)); if GetLastError = ERROR_ALREADY_EXISTS then begin ergebnis:=true; end; if mHandle <> 0 then CloseHandle(mHandle); result:=ergebnis; End;
Delphi-Quellcode:
Was mache ich da wieder falsch?
if AppAlreadyUsed('C:\Windows\notepad.exe') = true
then Label3.Caption:='Notepad bereits ausgeführt' else Label3.Caption:='Notepad läuft momentan nicht'; |
Re: Programm nur einmal starten
Die Funktion verhindert einen Mehrfachstart der eigenen Anwendung und nicht von anderen Anwendungen. Der Pfad wird nur übergeben, damit der Mutex eindeutig ist.
|
Re: Programm nur einmal starten
Achso. OK, dann habe ich da etwas falsch verstanden.
Ich möchte über einen Launcher ein anderes Programm starten. Aber eben nur dann, wenn dieses nicht bereits gestartet wurde. Bei der Gelegenheit will ich gleich noch eine Möglichkeit haben, ein anderes Programm zu beenden. |
Re: Programm nur einmal starten
![]() Das prüft allerdings nur den Dateinamen, nicht den Pfad. Wie man eine Anwendung beendet, steht 100% hier irgendwo in der DP. ;) |
Re: Programm nur einmal starten
Du müsstest mit
![]() ![]() Bernhard [roter Kasten: war zu langsam] |
Re: Programm nur einmal starten
OK, scheint zu funktionieren. Danke danke danke.
Das jetzt kein Pfad dabei ist, kann ich verschmerzen, da der Launcher nur ein ganz bestimmtes Programm starten soll. Nämlich mein eigenes Programm. :wink: In dem Launcher soll man diverse Einstellungen vornehmen können, die dann als Parameter an das andere Programm übergeben werden. |
Re: Programm nur einmal starten
Hallo
von ![]() TLMDOneInstance Safeguards that only one instance of your application can be executed. The component offers several options and an additional action event. Shalom Manfred |
Re: Programm nur einmal starten
Es geht ihm aber nicht um die eigene Anwendung :zwinker:
|
Re: Programm nur einmal starten
Ups. :duck:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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-2025 by Thomas Breitkreuz