J'ai un problème étrange avec IE8 installé dans XP. J'essayais de lancer IE en utilisant une méthode System.Diagnostics.Process.Start en C#. Et j'ai une exigence pour piéger l'événement exité de l'IE et faire une opération. Mais je me suis retrouvé dans un problème assez étrange où l'IE déclenche immédiatement l'événement sorti après le lancement.Process.Start ("IEXPLORE.EXE") déclenche immédiatement l'événement Exited après le lancement .. pourquoi?
c'est l'exemple de code
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");
}
Mais le code ci-dessus fonctionne parfaitement lorsque laucnching processus différent (ex: bloc-notes) et il déclenche l'événement de sortie lorsque je ferme l'exe.
cela ne fait que lancer le problème IE 8. Quelqu'un peut-il me préciser quel est le problème ??
MISE À JOUR
La plupart des amis ont répondu mon message et dire pourquoi vous ne pouvez pas utiliser une URL? pourquoi rester avec IE?
ici la raison
le but ultime de l'application est de lancer une URL de l'application Windows et cachera un exe lorsque vous travaillez sur l'IE. Et montrez l'exe après avoir fermé l'IE.
Merci
sur mon système (XP SP 3, .NET Framework 3.5, IE 8) ce code fonctionne sans aucun problème. Peut-être que vous avez un problème de permission? – Jehof
avez-vous essayé avec d'autres fenêtres IE déjà ouvertes ?? – RameshVel
Notez que les utilisateurs avec un navigateur par défaut différent n'apprécieront pas que vous ouvrez IE. Vous pouvez simplement passer l'URL à 'Process.Start', mais assurez-vous que' UseShellExecute' est activé. Bien sûr, cela complique la vérification si le navigateur est sorti ... – Thomas