1

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

4

3 回答 3

0

当有可用的 API 时,请不要在注册表中翻找。使用适当的 API 将有助于确保您的测试适用于所有版本的 Windows 和 Word。

要找出注册了哪个可执行文件来处理某种文件类型(如 .doc),请使用AssocQueryString。获得可执行文件的路径后,您可以使用GetFileVersionInfoVerQueryValue检查其版本号。

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

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

于 2012-08-28T16:02:59.747 回答
0

如果我想知道 Word 的版本,我会查看注册表项 HKEY_CLASSES_ROOT\Word.Application\CurVer

它将为您提供一个 ProgId,例如:Office 2010、2007 和 2003 分别为“Word.Application.14”、“Word.Application.12”或“Word.Application.11”。最后一个“.”右侧的部分。给出版本。如果您查看“Word.Document”,它不会总是给出正确的答案,因为可以安装一些功能包,允许旧版本的 Word 读取新版本的 Word 文档。这些功能包会更新 Word.Document 的一些注册表设置,但不会单独使用 Word.Application。

于 2012-08-28T14:16:12.180 回答
0

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

  • 办公室 2003 = 11
  • 办公室 2007 = 12
  • 办公室 2010 = 14

    HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\AccessNameVersion

    HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\ExcelNameVersion

    HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\OutlookNameVersion

    HKLM\Software\Microsoft\Office\12.0\Word\Registration{-------------}\PowerPointNameVersion

于 2012-08-28T06:16:32.290 回答