Auf Programmende warten!! Bitte helfen....
-
Afaik wartet system(), bis das aufgerufene Programm fertig ist - schon um dessen Rückgabe auswerten zu können.
Ansonsten könntest du auch ShellExecuteEx() verwenden, um ein anderes Programm zu starten, die gibt auch ein HINSTANCE des gestarteten Programms zurück, mit dem du weiterarbeiten kannst.
-
weißt du, wie ich eine winapi funktion einbinden?
als beispiel jetzt die ShellExecuteEx
-
@CStoll (off)
also ich habe System() versucht und es wartet nicht bis es fertig ist.
Hast du ein anderen Tipp?
-
Hallo,
ich habe das jetzt mal so versucht,
----------------------------------------
SHELLEXECUTEINFO ExecInfo;
ExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ExecInfo.hwnd = GetActiveWindow();
ExecInfo.lpVerb = "open";
ExecInfo.lpFile = "c:/Programme/tool/Remover.exe";
ExecInfo.nShow = SW_SHOW;
ExecInfo.hInstApp = NULL;
ShellExecuteEx(&ExecInfo);
WaitForSingleObject(ExecInfo.hProcess, 3600);leider wartet der immern noch nicht auf das ende des remover tools.

Wo liegt mein Fehler ?
danke
-
kann mir denn einer helfen?
-
char *pcPrg = "c:\\Programme\\tool\\Remover.exe"; STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); CreateProcess( NULL, pcPrg, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ); for (;;) { if ( WaitForSingleObject( pi.hProcess, 0 ) == WAIT_OBJECT_0) { break; } }
-
@luxx
hi leider hat das auch nicht funktioniert.
Ich glaube das remover tool erstellt ein Child Prozess und danach schliesst es sich und dann ist das, was im C Programm geöffnet worden ist, zuende.
Ich brauche was, was z.B. den Taskmanager überprüft, ob die remover.exe noch geöffnet ist. Geht das, weil im Task manager wird die die ganze Zeit angezeigt.Danke Gruss Trivial
-
hallo keiner ne idee?
-
Ich denke diese Frage ist eher ein Fall für das WinAPI-Forum.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Creating processes:
http://msdn.microsoft.com/library/en-us/dllproc/base/creating_processes.asp