Thema: Delphi WaitForInputIdle

Einzelnen Beitrag anzeigen

_Sebastian_

Registriert seit: 22. Jul 2004
Ort: Lübeck
72 Beiträge
 
Delphi 2010 Professional
 
#1

WaitForInputIdle

  Alt 22. Jul 2004, 12:27
Ich benutze die DP schon recht lange als Nachschlagewerk und das eigentlich immer erfolgreich, doch jetzt weiss ich nicht mehr weiter.

Ich arbeite an einem Programm, das Benutzereingaben speichert und wiedergibt (soll zum testen anderer Software eingesetzt werden).
Mein Problem ist jetzt, wenn bei der Wiedergabe ein anderes Programm gestartet wird, das ich solange warten muss, bis das Programm mit laden fertig ist.

Dazu hab ich dann WaitForInputIdle gefunden, nur bekomm ich immer die Meldung, mein Handle sei ungültig.

Delphi-Quellcode:
var wndHandle : thandle;
    pID : DWORD;
    ProcessHandle : cardinal;
    processname : string;

begin
 // das Fenster existiert und ich bekomme ein handle
 wndhandle :=FindWindow(nil,'unbekannt - Editor');

 // die Funktionen sind von den Jedis.. machen aber das selbe wie die von Windows..
 processname := GetProcessNameFromWnd(wndHandle);
 pID := GetPidFromProcessName(processname);

 // mit anderen Process-Rechten passiert das selbe
 processhandle := OpenProcess(SYNCHRONIZE ,false,pID);
 if processhandle = 0 then ShowMessage(sysErrorMessage(getLastError));

 case WaitForInputIdle(processhandle,10000) of
  0 : Showmessage('Ok');
  WAIT_TIMEOUT : Showmessage('TimeOut');
  WAIT_FAILED : ShowMessage(sysErrorMessage(getLastError));
 end;
end;
Egal welche ID ich WaitForInputIdle übergebe, ich bekomme ich die Meldung mein Handle sei ungültig.

Wenn jemand ne Idee/Vorschlag/Alternativen hat, wäre mir sehr geholfen.

mfg Sebastian
  Mit Zitat antworten Zitat