繁体   English   中英

如何知道exe的安装路径?

[英]How can I know installation path of a exe?

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

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

在WiX工具WixUtilExtension ,您可以使用WixUtilExtension ShellExecute标准自定义操作免费获得该行为。

你可以尝试这样的事情

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( );

但是,可以有多个同名进程。因此,您必须根据需要进一步修改代码。

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM