Hm, nehmen wir mal an, es macht einen Sinn - ich konnte das gewünschte hier nachbauen und es läuft ohne Probleme:
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var myID: integer;
hProcess: THandle;
begin
myID:=strToInt(edit1.Text);
hProcess := GetProcessHandleFromID(myID);
if hProcess = 0 then
Label1.Caption := 'Programm läuft nicht'
else
Label1.Caption := 'Programm läuft';
end;
Hier liegt nur ein Edit auf dem Formular, in dem man eine ID manuell eingeben kann (die man vorher über einen anderen Button sich anzeigen lassen kann). Ein Klick auf Button2 löst obige Prozedur aus. Ich habe das dann mit dem Notepad++ getestet und seine aktuelle Prozess-ID angegeben. Das Programm hat mir gesagt, dass er läuft. Dann habe ich den Notepad++ beendet und bekam die Meldung, dass er nicht mehr läuft. Alles gut also.
Will sagen: wenn du die Funktionen von Luckie so aufrufst, funktioniert das wie von dir gewünscht gewünscht. Das Problem müsste in der Tat irgendwo anders liegen. Vielleicht steht in deiner Variable zum Zeitpunkt des Aufrufs der falsche Wert, denn was vorher mit der passiert, wissen wir ja nicht.
Bis denn
Bommel