c# - Process.Start() 不启动 .exe 文件(手动运行时有效)

标签 c# exe explorer process.start

我有一个 .exe 文件需要在创建文件后运行。该文件已成功创建,之后我使用以下代码运行 .exe 文件:

ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = pathToMyExe;
processInfo.ErrorDialog = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;                        
Process proc = Process.Start(processInfo);

我也尝试了一个简单的 Process.Start(pathToMyExe);.exe 文件没有运行。当我在我的 Windows Explorer 上手动尝试 pathToMyExe 时,程序正确运行。但不是通过程序。我看到的是光标转向等待几秒钟然后恢复正常。所以也没有抛出异常。什么阻止了文件?

最佳答案

您没有设置工作目录路径,并且与通过资源管理器启动应用程序时不同,它不会自动设置为可执行文件的位置。

只需做这样的事情:

processInfo.WorkingDirectory = Path.GetDirectoryName(pathToMyExe);

(假设输入文件、DLL 等在该目录中)

关于c# - Process.Start() 不启动 .exe 文件(手动运行时有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648927/

相关文章:

C# 身份 : howto find and update different identity's claims in UserStore?

java - 打包到 jar/exe 后 SIGAR API 不工作

java - 用户提示不会消失

java - 我如何创建一个运行 java 程序的 .exe?

debugging - 调试崩溃的 explorer.exe 的最佳方法是什么?

c#/asp.net 显示数据库中的二进制数据

c# - 使用 lambda 函数重写此数组操作?

c# - 可能有枚举字符串?

c++ - 为什么我没有收到 WM_MENUCHAR 消息?

windows-installer - Windows Installer 在 MSI 更新期间终止资源管理器进程,但不会重新启动它