AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WaitForInputIdle

Ein Thema von _Sebastian_ · begonnen am 22. Jul 2004 · letzter Beitrag vom 22. Jul 2004
Antwort Antwort
_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
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: WaitForInputIdle

  Alt 22. Jul 2004, 14:50
WaitForInputIdle ist fuer den Handle gedacht den du bei CreateProcess bekommst.
  Mit Zitat antworten Zitat
_Sebastian_

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

Re: WaitForInputIdle

  Alt 22. Jul 2004, 14:58
Da ich die Anwendung ja nicht aus meinem Programm selber starte hab ich das mit OpenProcess gemacht.
OpenProcess liefert mir ja auch den Handle von dem process zurück.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: WaitForInputIdle

  Alt 22. Jul 2004, 15:07
Ich habe jetzt nicht genau nachgeschaut aber ich erinnere mich das CrateProcess zwei Handles liefert.
Es ist also wahrscheinlich das der Handle von OpenProcess generell untauglich ist.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz