WaitForInputIdle API-Funktion - Unterschiedliches Verhalten bei Win98 und 2000?!

Diskutiere WaitForInputIdle API-Funktion - Unterschiedliches Verhalten bei Win98 und 2000?! im Developer Network Forum im Bereich Hardware & Software Forum; Ich habe unter Win98 ein Programm geschrieben, welches mittels "CreateProcess" ein zweites Programm öffnet und dann über "WaitForInputIdle" wartet...
  • WaitForInputIdle API-Funktion - Unterschiedliches Verhalten bei Win98 und 2000?! Beitrag #1
D

Deep Space

Bekanntes Mitglied
Dabei seit
01.08.1999
Beiträge
2.004
Reaktionspunkte
0
Ich habe unter Win98 ein Programm geschrieben, welches mittels "CreateProcess" ein zweites Programm öffnet und dann über "WaitForInputIdle" wartet bis das geöffnete Programm bereit für Benutzereingaben ist. Füge ich bei dem zu öffnenden Programm in das Load-Ereignis ein "sleep(5000)" ein, wartet das erste Programm dementsprechend auch 5sec länger.

Wenn ich das ganze jedoch unter Win2000 laufen lasse, gibt die WaitForInputIdle-Funktion das Programm viel zu früh wieder frei, obwohl das geöffnete Programm noch durch die Sleep-Funktion "eingeschlafen" ist und nicht reagiert.

Gibt es für diesen Zweck bei 2000 eine andere Funktion?

Gruß
DS
 
  • WaitForInputIdle API-Funktion - Unterschiedliches Verhalten bei Win98 und 2000?! Beitrag #2
yks

yks

Bekanntes Mitglied
Dabei seit
21.01.1999
Beiträge
551
Reaktionspunkte
0
Ort
Hamburg
Hi,

woran es liegt kann ich dir auch nicht sagen, aber es gibt noch viele Unterschiede zwischen 9x und NT/W2K.
z.B. serielle Schnittstelle verhält sich auch anders,
z.B. WPARAM unter C ist bei 9x 16Bit und unter NT 32Bit .

Macht die evtl. noch auf noch mehr Überraschungen gefasst.

...yks ;)
 
  • WaitForInputIdle API-Funktion - Unterschiedliches Verhalten bei Win98 und 2000?! Beitrag #3
Chrisu

Chrisu

Bekanntes Mitglied
Dabei seit
30.11.1999
Beiträge
1.364
Reaktionspunkte
0
Ort
EnterpriZe Elite
hmm, msdn sagt daß waitforinputidle nur solange wartet, bis sich ein Programm initialisiert hat, d.h. es dürfte dieser Prozess bei W98 einfach länger dauern als bei W2k, lt. dieser Definition müßte also schon eine Eingabe unter W2k möglich sein, wenn der Init-Prozess beendet ist, auch wenn das Programm nicht reagiert

zum größten Teil hängt lt. MSDN der Unterschied zwischen W98 und 2k, was das Ergebnis von waitforinputidle betrifft, von dem Multithreading ab

vielleicht hilft eine Manipulation des time-out-intervalls, möglicherweise hilft auch ein Ändern der Priorität des Prozesses (SetPriorityClass), ansonsten schlägt MSDN noch folgende APIs vor: SuspendThread, MsgWaitForMultipleObjects
 
Thema:

WaitForInputIdle API-Funktion - Unterschiedliches Verhalten bei Win98 und 2000?!

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben