Hallo miteinander,
ich möchte prüfen ob eine bestimmtes Programm gestartet ist. Erste Idee wäre den Taskmanager abzufragen. Oder was mit TProcess machen ? Hab hier im Forum noch nix dazu gefunden.
Gruß
AndOne
P.S. Bin übrigens neu hier. Bin gerade erst von Delphi auf Lazerus umgestiegen
Checken ob ein Task da ist [gelöst]
-
- Beiträge: 7
- Registriert: Mi 28. Sep 2011, 23:42
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: 77694 Kehl
Checken ob ein Task da ist [gelöst]
Zuletzt geändert von andone am Fr 14. Okt 2011, 12:28, insgesamt 1-mal geändert.
-
- Beiträge: 1466
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Checken ob ein Task da ist
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 7
- Registriert: Mi 28. Sep 2011, 23:42
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: 77694 Kehl
Re: Checken ob ein Task da ist
Hallo MmVisual,
sieht so nicht schlecht aus. Für Lazerus wahrscheinlich aber nicht nutzbar da die Unit PsApi nicht da ist, und Lazerus HWND nicht kennt. Vielleicht gibts Alternativen ?
Ich habs in Delphi bisher so gemacht:
Geht aber wegen TProcessEntry32 auch nicht
Gibts dazu ggf. ne Alternative ?
Gruß
andone
sieht so nicht schlecht aus. Für Lazerus wahrscheinlich aber nicht nutzbar da die Unit PsApi nicht da ist, und Lazerus HWND nicht kennt. Vielleicht gibts Alternativen ?
Ich habs in Delphi bisher so gemacht:
Code: Alles auswählen
var Snap : THandle;
ProcessE : TProcessEntry32;
-----------------------
Snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
ProcessE.dwSize:=SizeOf(ProcessE);
if Process32First(Snap,ProcessE) then begin
StrDummy:= string(ProcessE.szExeFile); // 1. Prozess
// Wenn Task gefunden
if StrDummy = 'XXXXXX.exe' then Gestartet := True;
while Process32Next(Snap,ProcessE) do begin // alle restlichen Prozesse
StrDummy:=string(ProcessE.szExeFile);
if StrDummy = 'XXXXXX.exe' then Gestartet := True;
end;
end
else ShowMessage('Fehler!');
CloseHandle(Snap);
Geht aber wegen TProcessEntry32 auch nicht
Gibts dazu ggf. ne Alternative ?
Gruß
andone
Zuletzt geändert von Lori am Di 4. Okt 2011, 20:40, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
Re: Checken ob ein Task da ist
Du könntest die benötigten Funktionen selber importieren.
Ideen dazu gibt's hier:
http://www.koders.com/delphi/fid941A861 ... 60A65.aspx
Ideen dazu gibt's hier:
http://www.koders.com/delphi/fid941A861 ... 60A65.aspx
-
- Beiträge: 7
- Registriert: Mi 28. Sep 2011, 23:42
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: 77694 Kehl
Re: Checken ob ein Task da ist
Der Code von mir läuft jetzt. Habe folgendes gemacht:
1. {$MODE Delphi}
2. Die Unit Windows eingebunden
3. TlHelp32.pas aus Delphi eingebunden (Die gibts auch im WWW)
Danke Euch
1. {$MODE Delphi}
2. Die Unit Windows eingebunden
3. TlHelp32.pas aus Delphi eingebunden (Die gibts auch im WWW)
Danke Euch