1

我正在制作一个 C# 程序,我需要找到一些安装在计算机上的软件的安装路径。我必须处理的是,我有程序的名称(例如 Google Chrome),我有进程名称(例如 Chrome.exe)。我现在需要的是 Chrome.exe 的路径。如果我要将程序名称或进程名称作为搜索参数传递,我如何使用 C# 查找路径?实际上,我想做一个自定义操作,它会找到 chrome.exe 并调用一个链接。之后,我将使用搜索 chrome.exe 的路径,并且我想默认通过 chrome 打开一个网站。我应该怎么办..?

4

2 回答 2

4

另一个要考虑的选项是使用启动链接Process.Start()并让操作系统使用默认浏览器打开链接。这很可能是用户所期望的。

在WiX工具集中,您可以使用来自WixUtilExtension.

于 2013-03-12T14:17:09.207 回答
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( );

但是可以有多个同名的进程。所以你必须根据你的要求进一步修改代码。

希望这可以帮助

于 2013-03-12T06:43:07.553 回答