如何使用C ++在Windows上的注册表中获取完整路径的“Open With”程序?

时间:2012-06-08 15:53:03

标签: c++ windows qt registry

我正在使用Qt,它有一个非常有用的QSettings类,可以轻松访问Windows注册表:

QSettings s("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.html\\OpenWithList", QSettings::NativeFormat);

s.value("a").toString()返回"chrome.exe"

Chrome不在我计算机的路径中。在终端中运行chrome.exe会导致找不到错误。所以我不能在我的C ++应用程序中运行它。

我也无法获得它的图标,因为我需要完整的路径。

那我怎么找到这条完整的路径呢? (如果是Chrome,则为C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe

1 个答案:

答案 0 :(得分:1)

请勿直接使用注册表 - FindExecutable旨在准确生成您想要/需要的内容。