Nächstes Problem. Ein Programm darf nur einmal gestartet werden. Dazu habe ich diese Funktion:
Delphi-Quellcode:
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;
Aufgerufen wird die Funktion z.B. so:
Delphi-Quellcode:
if AppAlreadyUsed('C:\Windows\notepad.exe') = true
then
Label3.Caption:='Notepad bereits ausgeführt'
else
Label3.Caption:='Notepad läuft momentan nicht';
Was mache ich da wieder falsch?