>在C#
中列出已安裝應用程序的兩種有效方法>本文詳細介紹了使用C#在Windows系統上檢索已安裝應用程序的完整列表的兩種方法。 兩種方法都具有優勢和缺點,使您可以選擇最適合自己的需求。
>方法1:註冊表枚舉>
此方法涉及直接訪問Windows註冊表。鍵包含大多數已安裝應用程序的條目。 每個子鍵代表一個應用程序,SOFTWAREMicrosoftWindowsCurrentVersionUninstall
>值提供了應用程序的名稱。 DisplayName
> WMI提供了更具結構化的方法。 通過在查詢中使用,您可以檢索一個代表已安裝應用程序的
>實例的集合。 ManagementObjectSearcher
代碼示例:SELECT * FROM Win32_Product
ManagementObject
>註冊表方法:
WMI方法:
<code class="language-csharp">string registryKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registryKey)) { if (key != null) // Add null check for robustness { foreach (string subkeyName in key.GetSubKeyNames()) { using (RegistryKey subkey = key.OpenSubKey(subkeyName)) { if (subkey != null) // Add null check for robustness { object displayName = subkey.GetValue("DisplayName"); Console.WriteLine(displayName != null ? displayName.ToString() : "DisplayName not found"); } } } } }</code>
比較:
><code class="language-csharp">ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Product"); foreach (ManagementObject mo in mos.Get()) { Console.WriteLine(mo["Name"]); }</code>
>
以上是如何在C#中檢索已安裝應用程序的完整列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!