我有一個奇怪的問題與安裝在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