2016-02-01 49 views
2

我試圖從我的C++應用程序檢查安裝的Edge版本。查找Microsoft Edge的版本(通過WinApi)

我試着找到MicrosoftEdge.exe並查看文件上的版本號,該文件在過去對其他一些瀏覽器有效,但這些版本與「設置」部分中顯示的版本不匹配瀏覽器。

有沒有人有任何想法?

+1

設置中顯示的版本與.exe版本不同(正如您所記下的),並且與任何已加載的.dll版本(只在Process Explorer中進行檢查)都不匹配。我不知道任何返回它的API。猜猜它可以存儲在註冊表的某處,與Windows 10版本本身的方式大致相同([檢索Windows版本「1511」](http://stackoverflow.com/questions/33641076/retrieving-windows-version-1511/ 33704910#33704910))。 – dxiv

+1

這是一個WinRT應用程序,你需要從appx包清單中挖出它。作爲單獨的文件提供給同一個目錄,所以不是那麼難,AppxManifest.xml文件,''元素。 –

回答

1

如果您查看MicrosoftEdge.exe所在的文件夾,您會發現一個名爲AppxManifest.xml的文件。在這個XML文件裏面有一個名爲identity的節點,這個節點叫做version,它與設置菜單中的版本號相關。

<Identity Name="Microsoft.MicrosoftEdge" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" **Version="25.10586.0.0"** ProcessorArchitecture="neutral"/> 
+0

謝謝馬丁。是否有任何API可以從本機C++應用程序訪問此內容,您知道嗎,還是直接加載「C:\ Windows \ SystemApps \ Microsoft.MicrosoftEdge_8wekyb3d8bbwe \ AppxManifest.xml」? – FruitBreak