2016-02-01 46 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