Deux façons efficaces de répertorier les applications installées en C #
Cet article détaille deux méthodes pour récupérer une liste complète des applications installées sur un système Windows à l'aide de C #. Les deux approches offrent des avantages et des inconvénients, vous permettant de choisir le meilleur ajustement pour vos besoins.
Méthode 1: Énumération de la clé de registre
Cette méthode consiste à accéder directement au registre Windows. La clé SOFTWAREMicrosoftWindowsCurrentVersionUninstall
contient des entrées pour la plupart des applications installées. Chaque sous-clé représente une application, et la valeur DisplayName
fournit le nom de l'application.
Méthode 2: Tire de WMI (Windows Management Instrumentation)
WMI offre une approche plus structurée. En utilisant un ManagementObjectSearcher
avec la requête SELECT * FROM Win32_Product
, vous pouvez récupérer une collection d'instances ManagementObject
, chacune représentant une application installée.
Exemples de code:
Méthode de registre:
<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>
Méthode WMI:
<code class="language-csharp">ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Product"); foreach (ManagementObject mo in mos.Get()) { Console.WriteLine(mo["Name"]); }</code>
Comparaison:
La méthode de registre fournit généralement une liste plus complète, y compris les mises à jour et les composants Windows. Cependant, cela peut être moins efficace. La méthode WMI est généralement plus rapide mais pourrait manquer certaines applications, en particulier celles non installées dans le profil "Allégers". Le choix dépend de vos exigences spécifiques pour l'exhaustivité et les performances. Envisagez d'ajouter une gestion des erreurs (comme indiqué dans l'exemple de registre amélioré) pour une solution plus robuste.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!