C ++:查找MS PowerPoint Viewer的安装目录

时间:2012-12-21 22:50:06

标签: c++ windows winapi registry

我想从我的C ++应用程序中调用MS PowerPoint Viewer可执行文件(PPTVIEW.exe)。

我不想问用户,MS PowerPoint查看器的安装位置。我相信,它不专业,依赖于用户做出适当的输入。相反,我希望能够自己识别安装目录的位置。

例如,MS PowerPoint Viewer 2007的默认位置如下:

  • c:\ program files \ microsoft office \ office12 \ PPTVIEW.exe

这当然不一定是真的,特别是不同的版本(2003年,2007年,2010年)有不同的位置。

如果没有安装MS PowerPoint查看器,请告知,在哪里获取正确的路径,甚至更好,能够识别?

注册表中必须有一些内容,但哪个键是正确的?

我用:

  • 非托管C ++
  • 需要与WinXP兼容
  • 应与bot 32和64 bit OS兼容
  • 应该能够识别2003年之后所有版本的Powerpoint Viewer的位置(包括。)

谢谢。

2 个答案:

答案 0 :(得分:0)

到目前为止,我发现的最佳解决方案是通过阅读以下注册表项来搜索注册表中的相应路径:

  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \ pptview.exe

上面的密钥为我提供了安装PowerPoint Viewer的位置。但是,我不知道这个密钥是否存在于安装了PowerPoint Viewer的每个工作站中。

答案 1 :(得分:0)

如果您将问题改为“我想在我的C ++应用程序中以幻灯片模式显示powerpoint”。然后通过查询已注册的文件处理程序并使用适用的COM对象来实现这一点很容易。

如果存在已注册的扩展程序处理程序,则会出现以下注册表项:

HKEY_CLASSES_ROOT\.pptx\