000
24.06.2008, 08:53 Uhr
Kai
|
Hallo,
irgendwie läuft bei mir der Code unter XP richtig (unter XP kompiliert) aber wenn ich die exe unter Vista laufen lasse, dann wartet er nicht bis das Programm beendet ist, sondern geht vorher schon mal in die Schleife rein!
Hier erstmal der Code
C++: |
char strIE[255]; strcat(strIE,"C:\\Programme\\Internet Explorer\\Iexplore.exe "" target="_blank">www.web.de"); PROCESS_INFORMATION piIE; STARTUPINFO suiIE; DWORD dwExit; suiIE.cb =sizeof(STARTUPINFO); suiIE.lpReserved =0; suiIE.lpDesktop =NULL; suiIE.lpTitle =NULL; suiIE.dwX =0; suiIE.dwY =0; suiIE.dwXSize =0; suiIE.dwYSize =0; suiIE.dwXCountChars =0; suiIE.dwYCountChars =0; suiIE.dwFillAttribute =0; suiIE.dwFlags =STARTF_USESHOWWINDOW; suiIE.wShowWindow =SW_SHOWMAXIMIZED; suiIE.cbReserved2 =0; suiIE.lpReserved2 =0; if(CreateProcess(NULL,strIE,NULL,NULL,FALSE,CREATE_DEFAULT_ERROR_MODE|NORMAL_PRIORITY_CLASS,NULL,NULL,&suiIE,&piIE)==TRUE) { CloseHandle(piIE.hThread); } WaitForInputIdle(piIE.hProcess,INFINITE); WaitForSingleObject(piIE.hProcess, INFINITE); dlg.MessageBox("BEendet", "", MB_OK);
|
Also ich starte den Internet Explorer mit einer bestimmten Homepage, möchte aber wenn der Internet Explorer geschlossen wird, momentan erstmal eine MessageBox ausgeben, normalerweise habe ich einen 2.Process, der dann gestoppt werden sollte. Jedoch unter Vista wartet er nicht, sondern gibt schon beim Starten "Beendet" aus!
Kann mir da jmd weiterhelfen, wo mein Fehler liegt!
Viele Grüße Kai |