我有一个奇怪的问题与安装在XP中的IE8。我试图在C#中使用System.Diagnostics.Process.Start方法启动IE。我有一个要求来捕获IE的退出事件并做一些操作。但是我最终遇到了一个很奇怪的问题,那就是IE在发布后立即启动退出的事件。Process.Start(“IEXPLORE.EXE”)在启动后立即启动Exited事件。为什么?
这是示例代码
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");
}
但上面的代码laucnching不同处理时完全运作(例如:记事本)时和关闭该exe它触发的退出事件。
这只会给问题启动IE 8。有人可以澄清我是什么问题?
UPDATE
多数朋友说我的文章,说你为什么不能只使用一个网址?为什么坚持使用IE?
这里的原因
应用程序的最终目的是从Windows应用程序启动一个URL,并在IE工作时,将隐藏的exe文件。并关闭IE后显示exe。
感谢
在我的系统上(XP SP 3,.NET Framework 3.5,IE 8),这段代码没有任何问题。也许你有权限问题? – Jehof 2009-12-01 09:54:02
你试过用其他IE窗口已经打开吗? – RameshVel 2009-12-01 10:03:55
请注意,具有不同默认浏览器的用户不会意识到您打开IE。您可以尝试将URL传递给'Process.Start',但确保设置了UseShellExecute。当然,这确实复杂检查浏览器是否退出... – Thomas 2009-12-01 10:11:53