【问题标题】:ProcessStartInfo run exe in PATH envirionment variableProcessStartInfo 在 PATH 环境变量中运行 exe
【发布时间】:2023-03-06 02:09:01
【问题描述】:

我正在尝试使用 ProcessStartInfo 运行 exe。问题是我只想指定exe名称,并将可执行路径添加到Windows中的PATH环境变量中。当我尝试运行我的应用程序时,我得到了 FileNotFoundException。当我使用全名开始该过程时,一切正常。有什么想法吗?

-- 编辑:感谢cmets,我举个例子让它更清楚:

ProcessStartInfo p = new ProcessStartInfo("example.exe");

我在 Windows 环境 PATH 变量中手动添加了 example.exe 的路径,但我的应用程序仍然无法启动进程 example.exe

【问题讨论】:

  • 您想以编程方式将其添加到路径环境变量中吗?
  • 更改环境变量后是否重新启动了应用程序?
  • 注销并重新登录以确保所有进程,包括VS、资源管理器和VS托管进程都使用修改后的环境变量。
  • 谢谢汉斯,问题解决了。不知道我也必须关闭 VS(事实上我今天重新启动了我的机器并且它工作了)。

标签: c# filenotfoundexception processstartinfo


【解决方案1】:

您可以使用Environment 类中的GetEnvironmentVariableSetEnvironmentVariable

var currentPathVariable = Environment.GetEnvironmentVariable("path");
var newPathVariable = currentPathVariable + ";another path";
Environment.SetEnvironmentVariable("path", newPathVariable);

【讨论】:

  • 谢谢,但这不是我的意思。我通过在我的问题中添加一个示例使其更清楚。
【解决方案2】:

您可以在注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths 键中创建一个子键。

看看Registering Applications Using the App Paths sub key

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-14
    • 2019-06-30
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2023-03-31
    相关资源
    最近更新 更多