2013-12-22 87 views
2

當我開始從一個批處理文件的應用程序,我想等到第一個應用程序完成後,我做了啓動/等待這樣,這工作得很好:爲什麼開始/等待與URL一起使用時不會等待?

start /WAIT "" "notepad.exe" 
start /WAIT "" "notepad.exe" 

雖然沒有在沒有特殊需要引號,我習慣於使用它們來支持在路徑中有空格的命令。

最近我試圖通過URL啓動瀏覽器,我想等待瀏覽器被用戶關閉。然而,網址,這樣使用時,該批處理文件不等待:

start /WAIT "" "http://stackoverflow.com/" 
start /WAIT "" "http://stackoverflow.com/" 

我在Windows 7測試這個和我的默認瀏覽器是Firefox瀏覽器。

爲什麼等待不起作用的URL和如何解決這個問題?

注意:我不想啓動特定的瀏覽器。我想讓瀏覽器選擇到用戶,從而啓動默認瀏覽器。這工作:

start /WAIT "" "firefox" "http://stackoverflow.com/" 
start /WAIT "" "firefox" "http://stackoverflow.com/" 
+0

Firefox是一個單一實例應用程序,因此打開URL並沒有啓動一個新的進程,所以沒有什麼可以等待的。 –

+0

在我的電腦上,Firefox啓動了好幾次。 –

+0

如果你看看任務管理器,你會發現只有一個Firefox進程正在處理所有這些窗口。 –

回答

0

這似乎是因爲它是通過使用'文件類型協會啓動程序和/w沒有在該模式下實現。

我認爲唯一的解決方法是讀取註冊表來檢測默認瀏覽器和路徑,然後啓動該瀏覽器的URL,因此/w將功能。

+0

這是否意味着HTTP protcol處理程序是正在啓動並等待的程序?協議處理程序啓動Firefox然後退出?一方面,這是有道理的... –

+0

@ThomasW。有關操作系統如何在url調用上啓動默認Web瀏覽器的信息(本文適用於C++開發人員,但行爲相同),請參閱[使用ShellExecute啓動默認Web瀏覽器](http://support.microsoft.com/KB/224816/EN-US)。 –