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
Code:
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);
Anstatt den letzten 3 Zeilen habe ich auch schon das hier probiert:
Code:
while((GetExitCodeProcess(piIE.hProcess,&dwExit)==TRUE) && (dwExit==STILL_ACTIVE))
{ 
	char			cwExit[255];
	sprintf(cwExit, "%i", dwExit);			
	dlg.MessageBox(cwExit, "test", MB_OK);
	Sleep(100);
}
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! In beiden Varianten

Hab gehört, dass das irgendwie an Vista und dem IE7 liegt, hab nur keine Ahnung, wie ich das Problem umgehen könnte. Kann mir da jmd weiterhelfen, wo mein Fehler liegt!

Viele Grüße
Kai
Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!