寻找软件开发图片-获取计算机软件信息就是这样滴,你知道吗?
发布时间:2023-06-18 10:08 浏览次数:次 作者:佚名
目录
前言
最近在写一些关于获取本机信息的函数,大多数获取方式都可以通过调用windows开发的API得到,当前Qt也有封装一写API可以直接获取到计算机的信息,如获取主机名只用:QHostInfo::localHostName()可以获取到。除了这两种方式还有一种就是用注册表方式获取寻找软件开发图片寻找软件开发图片,但是这种方式有个弊端就是,有些软件并不会写入注册表,所以注册表就获取不到,今天我们的获取计算机软件信息就是这样滴。
正文开始
软件基本信息获取最主要用到的注册表是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
软件卸载信息中包含: DisplayName(显示名称)/DisplayIcon(显示标题)/UninstallString(卸载路径),今天文章主要用到的就是: DisplayName(显示名称)。
关键代码
QString GetDevInfos::getSoftware()
{
QString regStr = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
QSettings settings(regStr, QSettings::NativeFormat);
QStringList regGroups = settings.childGroups();
foreach (QString regItem , regGroups)
{
settings.beginGroup(regItem);
QString displayName = settings.value("DisplayName").toString();
QString uninstallString = settings.value("UninstallString").toString();
if(!displayName.isEmpty())
{
qDebug() << "[" << __FUNCTION__ <<__LINE__ << "] :" << displayName
代码执行结果
[ GetDevInfos::getSoftware 105 ] : "护眼宝 3.1" "C:\\Program Files (x86)\\护眼宝\\uninst.exe"
[ GetDevInfos::getSoftware 105 ] : "网易有道词典" "D:\\Youdao\\Dict\\uninst.exe"