C#을 사용하여 시스템에 설치된 애플리케이션 가져오기
질문:
C# 코드를 사용하여 시스템에 설치된 애플리케이션을 확인하는 방법은 무엇입니까?
해결책:
C#을 사용하여 시스템에 설치된 애플리케이션 목록을 얻으려면 레지스트리 또는 WMI(Windows Management Instrumentation)를 사용할 수 있습니다.
레지스트리 기반 방법:
"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 중국어 웹사이트의 기타 관련 기사를 참조하세요!