请有人帮忙吗?如何找到计算机上安装的msword版本?如果版本很少,请找出默认打开'.doc'的版本。任何人都可以为此任务建议一些C ++函数或算法吗?抱歉英语不好:(谢谢你的帮助。
答案 0 :(得分:0)
您可以从路径中读取注册表项。 为.....
Office 2010 = 14
HKLM \ SOFTWARE \微软\办公室\ 12.0 \字\ {登记-------------} \ AccessNameVersion
HKLM \ SOFTWARE \微软\办公室\ 12.0 \字\ {登记-------------} \ ExcelNameVersion
HKLM \ SOFTWARE \微软\办公室\ 12.0 \字\ {登记-------------} \ OutlookNameVersion
HKLM \ SOFTWARE \微软\办公室\ 12.0 \字\ {登记-------------} \ PowerPointNameVersion
答案 1 :(得分:0)
如果我想知道Word的版本,请查看注册表项HKEY_CLASSES_ROOT \ Word.Application \ CurVer
它将分别为Office 2010,2007和2003提供类似于“Word.Application.14”,“Word.Application.12”或“Word.Application.11”的ProgId。最后一个“。”右边的部分。给出版本。如果您查看“Word.Document”,它将不会始终给出正确的答案,因为可以安装的功能包允许旧版本的Word读取新版本的Word文档。这些功能包更新了Word.Document的一些注册表设置,但它们只保留Word.Application。
答案 2 :(得分:0)
当有可用的API时,请不要通过注册表进行搜索。使用适当的API有助于确保您的测试适用于所有版本的Windows和Word。
要找出注册哪个可执行文件来处理某种文件类型(如.doc),请使用AssocQueryString。获得可执行文件的路径后,您可以使用GetFileVersionInfo和VerQueryValue检查其版本号。
如果您只是想知道安装了哪些版本(无论哪个应用程序与.doc相关联),您可以查询Windows Installer。查看MsiEnumProductsEx和MsiGetProductInfo。
可能还有一种方法可以使用WMI查询这些内容。