.net c#想要获取操作系统安装的软件列表,需要从注册表中获取
软件信息对应的注册表目录:Software\Microsoft\Windows\CurrentVersion\Uninstall
读取以下注册表目录:
RegistryKeys.Add(Registry.ClassesRoot);
RegistryKeys.Add(Registry.CurrentConfig);
RegistryKeys.Add(Registry.CurrentUser);
RegistryKeys.Add(Registry.LocalMachine);
RegistryKeys.Add(Registry.PerformanceData);
RegistryKeys.Add(Registry.Users);
获取 DisplayName ,和 DisplayVersion 信息
/// <summary>
/// 从注册表获取本机安装的软件信息
/// </summary>
/// <returns>返回软件名、版本号的</returns>
public string SysSoftWares()
{
StringBuilder str = new StringBuilder();
List<RegistryKey> RegistryKeys = new List<RegistryKey>();
//对应注册表
RegistryKeys.Add(Registry.ClassesRoot);
RegistryKeys.Add(Registry.CurrentConfig);
RegistryKeys.Add(Registry.CurrentUser);
RegistryKeys.Add(Registry.LocalMachine);
RegistryKeys.Add(Registry.PerformanceData);
RegistryKeys.Add(Registry.Users);
Dictionary<string, string> Softwares = new Dictionary<string, string>();
string SubKeyName = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
foreach (RegistryKey Registrykey in RegistryKeys)
{
using (RegistryKey RegistryKey1 = Registrykey.OpenSubKey(SubKeyName, false))
{
if (RegistryKey1 == null) continue;
if (RegistryKey1.GetSubKeyNames() == null) continue;
string[] KeyNames = RegistryKey1.GetSubKeyNames();
foreach (string KeyName in KeyNames)
{
using (RegistryKey RegistryKey2 = RegistryKey1.OpenSubKey(KeyName, false))
{
if (RegistryKey2 == null) continue;
//获取软件名
string SoftwareName = RegistryKey2.GetValue("DisplayName", "").ToString();
//获取软件版本
string SoftwareVersion = RegistryKey2.GetValue("DisplayVersion", "").ToString();
if (!string.IsNullOrEmpty(SoftwareName))
{
if (!Softwares.ContainsKey(SoftwareName))
{
Softwares.Add(SoftwareName, SoftwareVersion);
}
}
}
}
}
}
str.AppendLine("总计:" + Softwares.Count.ToString() + "软件");
// 把软件名、版本号写入文件
foreach (var item in Softwares)
{
str.AppendLine(item.Key + "\t" + item.Value);
}
return str.ToString();
}
运行结果,安装软件很多:
总计:126软件
Fiddler Everywhere 3.1.0 3.1.0
Google Chrome 96.0.4664.93
WPS Office (11.1.0.11194) 11.1.0.11194
MicroSIP 3.20.1
360驱动大师 2.0.0.1850
360安全卫士 13.0.0.2004
Visual Studio Professional 2022 17.3.3
Adobe Photoshop CS4 11.0
aurora 2.7.12 2.7.12
Foxmail 7.2.23.119
HiSuite 11.0.0.610
Microsoft Document Explorer 2005
Microsoft Document Explorer 2005 语言包 - 简体中文
Microsoft Edge 107.0.1418.62
Microsoft Edge Update 1.3.171.37
Microsoft Edge WebView2 Runtime 107.0.1418.62
Microsoft Visual SourceSafe 2005 - CHS
NVIDIA Stereoscopic 3D Driver 7.17.12.6514
迅雷 11.4.0.2022
微信 3.9.0.28
WinRAR 压缩文件管理器
Microsoft Visual Studio Tools for Applications x86 Runtime 3.0 - 简体中文语言包 10.0.40219
Microsoft .NET Targeting Pack - 6.0.8 (x86) 48.35.45462
Microsoft .NET Framework 4.7 开发人员工具包(简体中文) 4.7.2053
Microsoft Visual Studio Setup WMI Provider 3.3.2152.31801
腾讯QQ 9.6.9.28878
ClickOnce Bootstrapper Package for Microsoft .NET Framework 4.8.09037
Adobe Color NA Extra Settings CS4 2.0
VS Immersive Activate Helper 17.0.118.0
Adobe Setup 2.0
Adobe CSI CS4 1
Adobe Anchor Service CS4 2.0
AdobeColorCommonSetRGB 2.0
Microsoft .NET Framework 4.7.1 Doc Redirected 目标包(简体中文) 4.7.02558
Microsoft .NET Framework 4.7.2 Targeting Pack 4.7.03062
ScreenToGif 2.17.1
Microsoft Visual Studio Tools for Applications x86 Runtime 3.0 10.0.40220
vs_clickoncesigntoolmsi 17.3.32708
icecap_collection_neutral 17.3.32708
Microsoft SQL Server System CLR Types 10.51.2500.0
vs_filehandler_x86 17.3.32708
Microsoft .NET Framework 4.6.2 目标包(简体中文) 4.6.01590
Microsoft .NET Framework Cumulative Intellisense Pack for Visual Studio (简体中文) 4.8.09037
icecap_collectionresources 17.3.32708
Microsoft .NET Framework 4.6 Targeting Pack 4.6.00081
vs_clickoncebootstrappermsires 17.3.32708
Microsoft Windows Desktop Runtime - 6.0.8 (x86) 48.35.45540
Microsoft .NET Framework 4.6.1 SDK 4.6.01055
Microsoft ASP.NET Diagnostic Pack for Visual Studio 17.3.376.3011
vcpp_crt.redist.clickonce 14.32.31332
Adobe XMP Panels CS4 2.0
vs_minshellinteropsharedmsi 17.3.32708
Entity Framework 6.2.0 Tools for Visual Studio 2022 6.2.0.0
Adobe Color - Photoshop Specific CS4 2.0
Microsoft .NET Runtime - 6.0.8 (x86) 48.35.45462
Adobe Color JA Recommended Settings CS4 2.0
SQL Server Browser for SQL Server 2014 12.0.2000.8
vs_devenvsharedmsi 17.3.32708
vs_FileTracker_Singleton 17.3.32708
Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.30.30704 14.30.30704.0
vs_filehandler_amd64 17.3.32708
vs_BlendMsi 17.3.32708
Adobe Color EU Extra Settings CS4 2.0
Microsoft .NET Host FX Resolver - 6.0.8 (x86) 48.35.45462
Microsoft .NET Framework 4.7.1 Targeting Pack 4.7.02558
Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.30.30704 14.30.30704.0
Microsoft ASP.NET Web Tools Packages 17.0 - ENU 17.0.20604.0
Microsoft .NET Framework 4.7.2 目标包(简体中文) 4.7.03062
Microsoft Visual C++ 2010 x86 Runtime - 10.0.40219 10.0.40219
vs_communitymsires 17.3.32708
Microsoft ASP.NET Core 6.0.8 Shared Framework (x86) 6.0.8.22363
Adobe Photoshop CS4 Support 11.0
AdobeColorCommonSetCMYK 2.0
Microsoft ASP.NET Web Tools Packages 17.0 - CHS 17.0.20604.0
vs_clickoncebootstrappermsi 17.3.32708
Microsoft SQL Server 2008 R2 管理对象 10.51.2500.0
Microsoft .NET Framework 4.7.1 开发人员工具包(简体中文) 4.7.2558
Adobe Type Support CS4 9.0
Microsoft TestPlatform SDK Local Feed 17.0.0.5175695
Microsoft .NET Framework 4.8 SDK (简体中文) 4.8.03761
Microsoft .NET Framework 4.6.1 Targeting Pack 4.6.01055
Microsoft .NET Framework 4.6.1 Targeting Pack (ENU) 4.6.01055
Microsoft Access database engine 2016 (English) 16.0.4519.1000
Microsoft .NET Framework 4.8 SDK 4.8.03928
Adobe CMaps CS4 2.0
Microsoft .NET Framework 4.8 目标包(简体中文) 4.8.03761
Microsoft Application Error Reporting 12.0.6012.5000
Microsoft .NET Framework 4.7.1 SDK (简体中文) 4.7.02558
vs_minshellsharedmsi 17.3.32708
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161 9.0.30729.6161
vs_minshellmsires 17.3.32708
Microsoft Windows Desktop Targeting Pack - 6.0.8 (x86) 48.35.45540
Microsoft .NET Framework 4.6.2 Targeting Pack 4.6.01590
Microsoft .NET Framework 4.6.1 SDK (ENU) 4.6.01047
vs_communitysharedmsi 17.3.32708
vs_SQLClickOnceBootstrappermsi 17.3.32708
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4974 9.0.30729.4974
Microsoft .NET Framework 4.8 Targeting Pack 4.8.03761
Microsoft ASP.NET Core 6.0.8 Targeting Pack (x86) 6.0.8.22363
Microsoft .NET Framework 4.6 Targeting Pack (简体中文) 4.6.81
Microsoft Visual C++ 2022 X86 Additional Runtime - 14.30.30704 14.30.30704
Adobe Default Language CS4 2.0
Microsoft Visual Studio 2010 Shell (Isolated) - CHS 10.0.40219
IntelliTraceProfilerProxy 15.0.21225.01
Microsoft Report Viewer 2014 运行时 12.0.2000.8
Microsoft .NET Framework 4.6.1 Developer Pack 4.6.1055
Microsoft .NET Framework 4.7 目标包(简体中文) 4.7.02053
Photoshop Camera Raw 5.0
Microsoft Visual Studio Setup Configuration 3.3.2152.31801
Microsoft Document Explorer 2005 Language Pack - CHS 8.0.50727.42
vs_tipsmsi 17.3.32708
Microsoft .NET Framework 4 Multi-Targeting Pack 4.0.30319
vs_CoreEditorFonts 17.3.32708
Expresso 2.1.2150
Microsoft SQL Server 2014 策略 12.0.2000.8
Microsoft .NET Framework 4.6.1 Developer Pack (CHS) 4.6.1047
Microsoft .NET Framework 4.7 SDK (简体中文) 4.7.02053
icecap_collectionresourcesx64 17.3.32708
Microsoft .NET Framework 4.7.1 目标包(简体中文) 4.7.02558
Microsoft .NET Framework 4.7 Targeting Pack 4.7.02053
Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219 10.0.40219
Realtek High Definition Audio Driver 6.0.1.7727
Microsoft Visual C++ 2022 X86 Minimum Runtime - 14.30.30704 14.30.30704
微信开发者工具 1.06.2209060 1.06.2209060
迅雷影音 6.2.0.540
钉钉 6.5.0-Release.3249116
运行效果图: