我想列出通过从 HKEY_CURRENT_USER 读取卸载注册表文件来安装的所有应用程序。但出于某种安全原因(我猜),看起来不能通过使用 QSettings 来完成。
QSettings maya("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall
人们建议使用 WinAPI 来完成此任务(至少在 Window 平台上)
有人可以指导我如何添加和使用此链接吗?
感谢
为了获取 Windows 注册表中“卸载”项下的所有子项的列表,您需要使用QSettings::childGroups()
函数,即:
QSettings m("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",
QSettings::NativeFormat);
QStringList ak = m.childGroups();
这将返回所有已安装应用程序的列表。
UPDATE:
获取已安装应用程序的列表后,可以阅读安装详细信息。有两种方法可以做到这一点。例如,要读取“Autodesk Maya 2014”应用程序的“UinstallPath”键:
m.beginGroup("Autodesk Maya 2014");
QString path = m.value("UninstallPath").toString();
m.endGroup();
或者简单地:
QString path = m.value("Autodesk Maya 2014/UninstallPath").toString();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)