Warten bis anderes Programm "idle" ist
-
hallo,
ich möchte in meinem C-Programm eine Funktion aufrufen sobald eine andere Anwendung (zb Excel) "idle" also nicht beschäftigt ist. Wie kann ich das realisieren? Es würde auch reichen, wenn mein code einfach solange wartet bis die gewünschte anwendung "idle" ist
vielen dank,
mfg, TFTS
-
ich weiß nicht ob es das ist was du suchst...
-> das heißt aber du startest excel aus deinem Programm heraus... und wartest dann auf Idle
path ist der Pfad zu der *.exe die gestartet werden soll
workingDir ist das Arbeitsverzeichnis der ExeSTARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOWMINIMIZED; CreateProcess(NULL, path ,NULL,NULL,FALSE,0,NULL, workingDir,&si,&pi); WaitForInputIdle( pi.hProcess, INFINITE ); CloseHandle( pi.hProcess ); CloseHandle( pi.hThread );
-
nee das ist es leider nicht. das hatte ich auch schon gefunden. aber ich hab das selbe problem, wie der in dem original thread. die waitforobject funktion springt schon weiter bevor das programm fertig ist mit laden
trotzdem danke
mfg, TFTS
-
TFTomSun schrieb:
ich möchte in meinem C-Programm eine Funktion aufrufen sobald eine andere Anwendung (zb Excel) "idle" also nicht beschäftigt ist. Wie kann ich das realisieren? Es würde auch reichen, wenn mein code einfach solange wartet bis die gewünschte anwendung "idle" ist
meinste das: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/waitforinputidle.asp ?
-
TFTomSun schrieb:
nee das ist es leider nicht. das hatte ich auch schon gefunden. aber ich hab das selbe problem, wie der in dem original thread. die waitforobject funktion springt schon weiter bevor das programm fertig ist mit laden
trotzdem danke
mfg, TFTS
also ich seh da keine WaitForObject Funktion...
Oder meinst du die WaitForInputIdle(...) Funktion?
Läuft der da einfach bei dir drüber?
Und überhaupt... welcher thread?
-
jo ich meinte die waitforidle funktion ...
es gibt da nen thread im forum, in dem genau das problem schon mal besprochen wurde. Der der den Thread erstellt hatte, hatte genau das selbe problem ... also dass bei waitforidle nicht wirklich gewartet wird bis das programm fertig mit laden ist
mfg, TFTS
PS: jo, es scheint so als ob er einfach drüber läuft (habs mal mit der steam.exe getestet)