由于访问WMI的product类,只能获取部分软件列表, 我们采用另外一种方式: 读取注册表的信息
require 'win32/registry'
Win32::Registry::HKEY_LOCAL_MACHINE.open('Software\Microsoft\Windows\CurrentVersion\Uninstall') do |reg|
reg.each_key do |key1,key2|
k = reg.open(key1)
puts k["DisplayName"] rescue "?"
puts k["DisplayVersion"] rescue "?"
puts k["Publisher"] rescue "?"
puts k["URLInfoAbout"] rescue "?"
puts
end
end