Ich habe im Internet nach einer Funktion gesucht, die überprüft, ob eine EXE-Datei gerade geöffnet ist. Ich habe folgende Funktion gefunden, ich glaube, sie müsste eigentlich auch funktionieren, tut sie aber leider nicht, weis jemand wieso?
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| function ExeFileIsRunning(ExeFile: string): boolean; var H:word; begin H := CreateFile(PChar(ExeFile), GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0); Result := (H >= 65535); CloseHandle(H); end;
procedure TForm1.Button1Click(Sender: TObject); begin if exefileisrunning('C:\test.exe') = true then label1.caption:='Läuft'; if exefileisrunning('C:\test.exe') = false then label1.caption:='Läuft net'; end; |
Diese Funktion müsste doch eigentlich funktionieren. Ich weis allerdings nicht, wieso sie nicht funktioniert. Kann mir da einer weiterhelfen?