이 질문에는 이미 답변이 있습니다.
나는 그들의 이름으로 설치된 소프트웨어를 열려고 노력하고있다.
아래의 코드를 사용하여 열었지만 설치된 모든 소프트웨어를 감지하지 못합니다.
Process proc = new Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = progName;
proc.Start();
그들의 이름으로 모든 것을 감지하고 여는 방법이 있습니까?
progName
입력과 함께 변경되는 문자열입니다.
이 방법으로 시도 할 수 있습니다.
using Microsoft.Win32;
public List<string> GetAllInstalledPrograms()
{
List<string> res = new List<string>();
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))
{
res.Add(subkey.GetValue("DisplayName").ToString());
}
}
}
return res;
}
progName
? 너 정확히 뭘 하려구? - sab669Process.Start("notepad++.exe", someFilePath);
n ++가 그 기능을 제공하기 때문에. 텍스트 파일을 텍스트 상자로 드래그 앤 드롭하여 표시 할 수있는 사용자 지정 win forms 응용 프로그램을 작성하는 경우,Process.Start("myApplication.exe", someFilePath);
무엇이든하면 안됩니다. - sab669