Dua cara yang cekap untuk menyenaraikan aplikasi yang dipasang di C#
Butiran artikel ini dua kaedah untuk mendapatkan senarai lengkap aplikasi yang dipasang pada sistem Windows menggunakan C#. Kedua -dua pendekatan ini menawarkan kelebihan dan kekurangan, yang membolehkan anda memilih yang paling sesuai untuk keperluan anda.
Kaedah 1: Penghitungan Utama Pendaftaran
Kaedah ini melibatkan secara langsung mengakses pendaftaran Windows. Kunci mengandungi penyertaan untuk kebanyakan aplikasi yang dipasang. Setiap subkey mewakili aplikasi, dan nilai SOFTWAREMicrosoftWindowsCurrentVersionUninstall
memberikan nama aplikasi. DisplayName
Kaedah 2: Memanfaatkan WMI (Instrumentasi Pengurusan Windows)
WMI menawarkan pendekatan yang lebih berstruktur. Dengan menggunakan dengan pertanyaan ManagementObjectSearcher
, anda boleh mengambil koleksi SELECT * FROM Win32_Product
contoh, masing -masing mewakili aplikasi yang dipasang. ManagementObject
Contoh kod:
Kaedah pendaftaran:
<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>
Kaedah WMI:
<code class="language-csharp">ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Product"); foreach (ManagementObject mo in mos.Get()) { Console.WriteLine(mo["Name"]); }</code>
Perbandingan:
Kaedah pendaftaran biasanya menyediakan senarai yang lebih komprehensif, termasuk kemas kini dan komponen Windows. Walau bagaimanapun, ia boleh menjadi kurang cekap. Kaedah WMI biasanya lebih cepat tetapi mungkin terlepas beberapa aplikasi, terutamanya yang tidak dipasang di bawah profil "Allusers". Pilihan bergantung kepada keperluan khusus anda untuk kesempurnaan dan prestasi. Pertimbangkan untuk menambah pengendalian ralat (seperti yang ditunjukkan dalam contoh pendaftaran yang lebih baik) untuk penyelesaian yang lebih mantap.Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Senarai Lengkap Aplikasi yang Dipasang dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!