tengo un problema extraño con IE8 instalado en xp. Estaba intentando lanzar IE usando un método System.Diagnostics.Process.Start en C#. Y tengo un requisito para atrapar el evento salido del IE y hacer alguna operación. Pero terminé en un problema bastante extraño en el que el IE inmediatamente dispara el evento salido después del lanzamiento.Process.Start ("IEXPLORE.EXE") inmediatamente activa el evento Exited después del lanzamiento ... ¿por qué?
este es el código de ejemplo
Process objProcess = Process.Start("IEXPLORE.EXE", "http://google.com");
if (objProcess != null)
{
objProcess.EnableRaisingEvents = true;
objProcess.Exited += new EventHandler(myProcess_Exited);
}
public static void myProcess_Exited(object sender, System.EventArgs e)
{
MessageBox.Show("You exited");
}
Pero el código anterior funciona perfectamente cuando laucnching proceso diferente (por ejemplo: bloc de notas) y se dispara el evento de salida cuando cierro el exe.
esto solo da problemas para iniciar IE 8. ¿Alguien me puede aclarar cuál es el problema?
ACTUALIZACIÓN
La mayoría de los amigos respondieron mi post y decir por qué no puede simplemente utilizar una URL? ¿Por qué quedarse con IE?
aquí la razón
el objetivo último de la aplicación es poner en marcha una dirección URL de la aplicación de Windows y se esconderá un exe cuando se trabaja en el IE. Y muestra el exe después de cerrar el IE.
Gracias
en mi sistema (XP SP 3, .NET Framework 3.5, IE 8) este código funciona sin ningún problema. Tal vez tienes un problema de permiso? – Jehof
¿lo intentó con otra ventana de IE ya abierta? – RameshVel
Tenga en cuenta que los usuarios con un navegador predeterminado diferente no apreciarán que abra IE. Puede intentar simplemente pasar la URL a 'Process.Start', pero asegúrese de que' UseShellExecute' esté configurado. Por supuesto, esto complica la comprobación de si el navegador salió ... – Thomas