我正在制作一个C#程序,我需要找到安装在计算机上的某些软件的安装路径。 我必须使用的是,我有程序的名称(例如谷歌浏览器),我有进程名称(例如Chrome.exe)。 我现在需要的是Chrome.exe的路径。如果我要将程序名称或进程名称作为搜索参数传递,我如何使用C#查找路径? 实际上我想做一个自定义动作,它会找到chrome.exe并调用一个链接。 之后,我将使用搜索chrome.exe的路径,我想通过chrome默认打开一个网站。我该怎么办..?
答案 0 :(得分:4)
另一个需要考虑的选择是使用Process.Start()
启动链接并让操作系统使用默认浏览器打开链接。这可能会更符合用户的期望。
在WiX工具集中,您可以使用WixUtilExtension
中的ShellExecute standard custom action免费获取该行为。
答案 1 :(得分:1)
你可以试试这样的事情
public string GetProcessPath(string name)
{
Process[] processes = Process.GetProcessesByName(name);
if (processes.Length > 0)
{
return processes[0].MainModule.FileName;
}
else
{
return string.Empty;
}
}
或者您可以使用Linq
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( );
但是可以有多个具有相同名称的进程。因此,您必须根据您的要求进一步修改代码。
希望这会有所帮助