首頁 > 後端開發 > C++ > 如何在 C# 中檢索已安裝應用程式的清單?

如何在 C# 中檢索已安裝應用程式的清單?

Barbara Streisand
發布: 2025-01-24 23:52:10
原創
352 人瀏覽過

How Can I Retrieve a List of Installed Applications in C#?

使用 C# 獲取系統已安裝應用程序

問題:

如何使用 C# 代碼確定係統中安裝的應用程序?

解決方案:

要使用 C# 獲取系統中已安裝應用程序的列表,您可以使用註冊表或 WMI(Windows 管理規範)。

基於註冊表的方法:

遍歷註冊表項 "SOFTWAREMicrosoftWindowsCurrentVersionUninstall" 可以提供已安裝應用程序的完整列表。每個子項代表一個不同的應用程序,而 "DisplayName" 值則包含應用程序的名稱。

WMI 方法:

一種較慢但可行的替代方法是通過 ManagementObjectSearcher 對象使用 WMI。查詢 "SELECT * FROM Win32_Product" 將檢索已安裝程序的列表。每個 ManagementObject 的 "Name" 屬性代表應用程序的名稱。

代碼片段:

基於註冊表:

<code class="language-csharp">string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key))
{
    foreach (string subkey_name in key.GetSubKeyNames())
    {
        using (RegistryKey subkey = key.OpenSubKey(subkey_name))
        {
            Console.WriteLine(subkey.GetValue("DisplayName"));
        }
    }
}</code>
登入後複製

基於 WMI:

<code class="language-csharp">ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Product");
foreach (ManagementObject mo in mos.Get())
{
    Console.WriteLine(mo["Name"]);
}</code>
登入後複製

注意事項:

基於註冊表的方法也可能捕獲 Windows 更新和組件。 WMI 雖然較慢,但可能會錯過為所有用戶安裝的應用程序。根據您的需求,您可以選擇合適的方法。

以上是如何在 C# 中檢索已安裝應用程式的清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板