我想查找是否已安装ms office及其版本... 我怎么能这样做?
答案 0 :(得分:0)
由于您已将其标记为visual C ++,我假设您希望在C ++中执行此操作
一种方法是解析以下注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
例如
枚举此密钥并查看值displayname
是否包含Microsoft Office Excel MUI (English) 2007
您还可以在其他值中找到版本号,例如version
,versionmajor
,verisonminor
仅供参考,您可以使用此注册表项找出几乎所有“安装”在您系统上的软件。
这仅适用于32位安装。对于64位安装,您需要在注册表节点WOW6432Node中找到类似的树结构。
答案 1 :(得分:0)
Microsoft Office Version Detector
它是如何运作的?
该代码基于过时的Microsoft知识库文章Q247985(知识库文章中的代码不适用于Office 2003或2007)。代码查找特定的注册表项,该注册表项包含每个应用程序的版本(例如,HKEY_CLASSES_ROOT / Excel.Application / CurVer for Excel),其中包含以字符串编码的版本(在我的计算机上为“Excel.Application.11”)。然后将内部Microsoft版本号(即“Excel.Application.11”末尾的“11”)映射到您将更熟悉的外部“营销”名称(例如,内部版本“11”是通常称为“Office 2003”。)