如何在计算机上找到MSWord的版本?

时间:2012-08-28 05:43:56

标签: c++ windows visual-c++ ms-word

请有人帮忙吗?如何找到计算机上安装的msword版本?如果版本很少,请找出默认打开'.doc'的版本。任何人都可以为此任务建议一些C ++函数或算法吗?抱歉英语不好:(谢谢你的帮助。

3 个答案:

答案 0 :(得分:0)

您可以从路径中读取注册表项。 为.....

  • Office 2003 = 11
  • Office 2007 = 12
  • 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。获得可执行文件的路径后,您可以使用GetFileVersionInfoVerQueryValue检查其版本号。

如果您只是想知道安装了哪些版本(无论哪个应用程序与.doc相关联),您可以查询Windows Installer。查看MsiEnumProductsExMsiGetProductInfo

可能还有一种方法可以使用WMI查询这些内容。