有人可以帮忙吗,拜托。如何查看计算机上安装的 msword 版本?如果它的版本很少,请找出默认打开“.doc”的版本。有人可以为此任务建议一些 C++ 函数或算法吗?抱歉英语不好:(谢谢你的帮助。
3 回答
当有可用的 API 时,请不要在注册表中翻找。使用适当的 API 将有助于确保您的测试适用于所有版本的 Windows 和 Word。
要找出注册了哪个可执行文件来处理某种文件类型(如 .doc),请使用AssocQueryString。获得可执行文件的路径后,您可以使用GetFileVersionInfo和VerQueryValue检查其版本号。
如果您只想找出安装了哪些版本(无论哪个应用程序与 .doc 关联),您可能可以查询 Windows Installer。查看MsiEnumProductsEx和MsiGetProductInfo。
可能还有一种方法可以使用 WMI 查询这些东西。
如果我想知道 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。
您可以从路径中读取注册表项。为了.....
- 办公室 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