gpt4 book ai didi

c# - 为什么 Process 会自动在桌面上找到我的 .exe?我怎样才能指定一个固定/非灵活的路径呢?

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:57 27 4
gpt4 key购买 nike

我以通常的方式启动可执行文件:

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WorkingDirectory = @"C:\someDirectory\";
p.StartInfo.FileName = "ConsoleProgram.exe";
p.Start();

目前,可执行文件不在 C:\someDirectory\ 中,因此我希望上述操作因未找到可执行文件而失败。

相反,它所做的是,由于某些原因,它在我的桌面上找到了同名的不同可执行文件! (我知道这一点是因为如果我在桌面上重命名 .exe,软件会提示找不到 .exe。)我如何防止这种行为,并强制执行特定路径而不是其他路径?

最佳答案

When UseShellExecute is false, the WorkingDirectory property is not used to find the executable. Instead, it is used by the process that is started and only has meaning within the context of the new process.

这里您将 UseShellExecute 设置为 false,WorkingDirectory 毫无意义,因此您必须使用绝对路径作为 FileName。

关于c# - 为什么 Process 会自动在桌面上找到我的 .exe?我怎样才能指定一个固定/非灵活的路径呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11073141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com