Einzelnen Beitrag anzeigen

Benutzerbild von Stony2k
Stony2k

Registriert seit: 21. Mai 2005
Ort: Moers
76 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Feststellen, ob ein Programm eingefrohren ist.

  Alt 25. Mär 2006, 07:51
Ich habe nun folgendes gemacht:
Delphi-Quellcode:
procedure Tfrm_main.StartButtonClick(Sender: TObject);
Var
  DWResult: DWORD;
  hWindowHandle: HWND;
  Result: integer;
begin
  hWindowHandle := FindWindow('SphereSvr', 'SphereServer V0.56b-Nightly - MyShard (Running) ');
  Result := SendMessageTimeout(hWindowHandle, WM_NULL, 0, 0,SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult);
end;
Die 5000 müssten ja 5 Milisekunden sein.. und Result lieft als Rückgabewert dann 0, sobald das Fenster nicht geöffnet ist, oder das Programm nicht reagier, richtig?
Und wie kille ich dann den Prozess?

//Edit: Die Funktion KillProzess funzt einwandrei: http://www.delphipraxis.net/internal...messagetimeout
  Mit Zitat antworten Zitat