获取本机所以已安装的软件名称和版本

易语言 2020-08-04 18:58:03

获取本机所以已安装的软件名称和版本

根句柄 = -2147483646 ' 1.HKEY_CLASSES_ROOT -2147483648 2. HKEY_CURRENT_USER -2147483647 3.HKEY_LOCAL_MACHINE -2147483646 4.HKEY_USERS -2147483645
打开表项 (根句柄, “Software\Microsoft\Windows\CurrentVersion\Uninstall”, 键句柄) ' 获取键句柄
键名 = 取空白文本 (255)
结果 = 枚举子键 (键句柄, 表项索引, 键名, 取文本长度 (键名))
.判断循环首 (结果 = 0)
软件名称 = 取文本注册项 (4, “Software\Microsoft\Windows\CurrentVersion\Uninstall\” + 键名 + “\DisplayName”, )
软件版本 = 取文本注册项 (4, “Software\Microsoft\Windows\CurrentVersion\Uninstall\” + 键名 + “\DisplayVersion”, )
安装日期 = 取文本注册项 (4, “Software\Microsoft\Windows\CurrentVersion\Uninstall\” + 键名 + “\InstallDate”, )
.如果真 (安装日期 ≠ “”)
安装日期 = 到文本 (到时间 (安装日期))
.如果真结束
卸载信息 = 取文本注册项 (4, “Software\Microsoft\Windows\CurrentVersion\Uninstall\” + 键名 + “\UninstallString”, )
.如果真 (寻找文本 (软件名称, “NVIDIA”, , 假) = -1 且 寻找文本 (软件名称, “Windows”, , 假) = -1 且 寻找文本 (软件名称, “Microsoft”, , 假) = -1 且 寻找文本 (软件名称, “安全更新”, , 假) = -1 且 软件名称 ≠ “”)
s = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (s, 0, 到文本 (n))
超级列表框1.置标题 (s, 1, 软件名称)
超级列表框1.置标题 (s, 2, 软件版本)
超级列表框1.置标题 (s, 3, 安装日期)
超级列表框1.置标题 (s, 4, 卸载信息)
n = n + 1
.如果真结束
键名 = 取空白文本 (255)
表项索引 = 表项索引 + 1
结果 = 枚举子键 (键句柄, 表项索引, 键名, 取文本长度 (键名))
.判断循环尾 ()