2010-01-19 166 views

回答

0

沒有通用的方法來做到這一點。當您調用該方法時,無法知道將啓動哪個進程。

例如,它可能啓動任何已安裝的瀏覽器,例如Firefox,IE,Safari或Opera。

即使您知道它是什麼瀏覽器,也無法知道該過程是什麼。許多新的瀏覽器支持選項卡式UI或運行在多個進程中。無法知道進程中的哪個進程或哪個選項卡將處理此URL。

這還不清楚「會話」是什麼意思。你到底希望在這裏做什麼?

0

Process.Start函數返回一個具有HasExited屬性的Process對象。你可以簡單地檢查一下。

或者,如果您只希望應用程序停止,直到瀏覽器關閉(可選地,如果您例如只想等待幾分鐘,然後才能恢復爲默認功能,那麼您可以調用WaitForExit)。

+0

請參考我的答案爲什麼這不是一個可靠的方法來做到這一點。 – Eilon

+0

不,不適用於網站。調用Process.Start和一個URL返回null - 你不能做任何事情! –

+0

啊,我沒有意識到tehMick,我想這種技術只有在你明確地調用一個瀏覽器的exe文件時纔會起作用,這個sorta會導致你不會服從他們的默認瀏覽器。是的,Eilon可能是不可靠的,取決於瀏覽器如何處理它的過程,但是對於看起來像瀏覽器的任何東西(其具有它自己的問題)搜索System.Diagnostics.Process.GetProcessesByName很短,它就像你會得到的一樣好。 – fyjham