是否可以從 Windows 命令列兩個都:
- 啟動預設網頁瀏覽器
- 和讓它查詢該瀏覽器中的預設搜尋引擎
該命令在這種情況下可以正常工作:
- Firefox 是預設瀏覽器,Wikipedia 是預設搜尋引擎
- IE為預設瀏覽器,Google為預設搜尋引擎
- ETC...
如果此類命令不存在,則合理的替代方案是從註冊表(或儲存該資訊的任何位置)檢索此資訊。
這可能嗎?
答案1
恐怕這是不可能的。使用預設瀏覽器啟動指定的 URL 非常容易
start http://some/url
然而,查詢預設搜尋引擎並不那麼容易,因為不同的瀏覽器往往將其儲存在截然不同的位置(如果可以在任何地方存取)。例如,Internet Explorer 將其搜尋引擎儲存在
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes
但Firefox 和其他瀏覽器可能將其儲存在不同的位置(我的意思是,所有瀏覽器通用的設定的單一統一位置對用戶來說很方便,但開發人員會討厭它,特別是如果這是由Microsoft 指定的單一統一位置)。
您可以嘗試不同的程式碼路徑來根據預設瀏覽器確定預設搜尋引擎。但預設瀏覽器也只是鬆散地指定,並且可以透過查看與 HTTP 協定處理程序關聯的程序來獲得。
但這接近猜測,非常危險,因為懸崖的另一邊還有大量工作要做。所以總的來說,我會說這幾乎是不可能的,除非你投入更多你可能想要的工作。
預計抵達時間: 一些瀏覽器(例如 Firefox)允許使用預設搜尋引擎直接從命令列進行搜尋:
firefox.exe -search keyword
或者
opera.exe ? keyword
但這仍然為您帶來了確定預設瀏覽器並從中確定適當參數的問題。