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