基於某些原因,有些開發者希望能獲取到IE瀏覽器(Internet Explorer)的全路徑,這樣就可以在二進制執行文件上加上一些選項了。
其實,並不需要這樣。
只需要向ShellExecute函數傳遞」IEXPLORE.EXE」這個參數,它就會有方法找到IE的執行文件並想辦法執行它,如下圖所示:

這個ShellExecute函數會負責為我們干」臟活」。
另外,如果你只需要打開某個URL地址,可以像下圖這樣調用:

上述調用會使用用戶預定義的WEB瀏覽器來打開這個URL地址。一般情況下應避免強制使用IE瀏覽器,我們在此處強制執行該操作,因為該操作可能是為了能夠專門在IE瀏覽器中打開某些頁面。
如果你還是希望自行查找路徑,也是可以的。這就需要涉及一些更加高級的技術,也即:如何在系統中註冊你的應用程序和路徑。
在MSDN中有文檔描述了一個應用程序在註冊表中註冊自身的信息的步驟。為了保持兼容性,你需要從註冊表中讀取某些內容並將它們解析成一些列的屬性。
在這種情況下,系統打開IE瀏覽器和使用API ShellExecute是等效的,它們都會到註冊表裡的HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionApp PathsIEXPLORE.EXE中查詢路徑信息。這個註冊表項的默認值為應用程序的全路徑,在啟動IE時,這個路徑會被結合到系統環境變量中並定位IE瀏覽器的執行文件。
如果你真的決定這樣做,要注意一點:如果註冊表的值類型是REG_EXPAND_SZ,則需要調用這個函數:ExpandEnvironmentStrings。有很多開發者都會忽視這一點。
總結
我的觀點還是:別瞎折騰,直接使用ShellExecute就好。簡單,方便,快捷。
畢竟,人生苦短。
最後
Raymond Chen的《The Old New Thing》是我非常喜歡的博客之一,裏面有很多關於Windows的小知識,對於廣大Windows平台開發者來說,確實十分有幫助。
本文來自:《How to find the Internet Explorer binary》
最近我寫了個東西
正如你們所知道的,拓撲梅爾智慧辦公平台(Topomel Box)是一款綠色軟件,主要面向經常使用電腦的朋友。它提供了各種提升辦公效率的小功能,同時操作上儘可能地簡單方便。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/213431.html
微信掃一掃
支付寶掃一掃