C# 프로그램을 만들고 있는데 컴퓨터에 설치된 일부 소프트웨어의 설치 경로를 찾아야합니다. 내가해야 할 일은 프로그램 이름 (예 : Chrome)을 가지고 프로세스 이름 (예 : Chrome.exe)을 가지고 있다는 것입니다. 지금 필요한 것은 Chrome.exe의 경로입니다. 검색을위한 매개 변수로 프로그램 이름이나 프로세스 이름을 전달할 경우 어떻게 C#을 사용하여 경로를 찾을 수 있습니까? 사실 chrome.exe를 찾아 링크를 호출하는 사용자 지정 동작을 만들고 싶습니다. 그런 다음 chrome.exe 검색 경로를 사용하고 크롬을 통해 웹 사이트를 열어두기를 원합니다. 어떻게해야합니까 ..?exe 설치 경로를 어떻게 알 수 있습니까?
1
A
답변
4
단지 Process.Start()
를 사용하여 운영 체제가 링크를 열려면 기본 브라우저를 사용시키는 링크를 출시 고려해야 할 또 다른 옵션을하는 데 도움이됩니다. 아마도 사용자가 기대하는 것보다 더 많을 것입니다.
WiX 도구 세트에서 WixUtilExtension
의 ShellExecute standard custom action을 사용하여 무료로 해당 동작을 얻을 수 있습니다.
+0
예, 롭. 이것은 아주 좋은 방법입니다. 하지만 내 크롬 크롬에 내 응용 프로그램에있다. 따라서 발사 시간에는 여러 가지 점검 및 조건이 있습니다. 그래서 내 경우에는 맞춤 동작이 더 나은 옵션입니다. – Anudeep
1
이
public string GetProcessPath(string name)
{
Process[] processes = Process.GetProcessesByName(name);
if (processes.Length > 0)
{
return processes[0].MainModule.FileName;
}
else
{
return string.Empty;
}
}
뭔가를 시도 할 수 또는 당신이
or you could do what you do but use linq
Process element = (from p in Process.GetProcesses()
where p.ProcessName == "Chrome.exe"
select p).FirstOrDefault();
그러나이 더에 따라 코드를 수정해야 낭포 같은 이름을 가진 여러 과정이있을 수 Linq에 사용할 수 귀하 요구 사항.
희망이
지금까지 시도한 것이 있습니까? [FAQ]와 [ask]을 읽어주십시오 –
파일 검색자가 있습니다 [여기] (http://www.codeproject.com/Articles/35044/File-Searcher-in-C) – Marshal
URL을 열지 않고 사용자의 OS가 어떤 브라우저가 기본 브라우저인지 결정하게 하시겠습니까? – CodeCaster