C#-不使用 System.Diagnostics.Process.Start 执行 Exe

标签 c#

我有一个程序,当我在 C# 中使用 System.Diagnostics.Process.Start 执行它时崩溃,但如果我执行运行 exe 的快捷方式或批处理文件,它工作正常。是否有任何替代方法可以在 C# 中执行程序,或者 Process.Start 与快捷方式或批处理文件相比可能不起作用的任何原因?我宁愿不必生成批处理文件或快捷方式文件来运行应用程序。

谢谢

最佳答案

我肯定会确保您正确设置了“工作目录”。仅仅因为您启动了一个 EXE 并不意味着它的工作目录就是它所在的文件夹。它可能是运行主应用程序的文件夹,或者如果您从服务运行,它可能是 WindowsFolder\system32.

确保通过 ProcessStartInfo.WorkingDirectory 指定工作目录 属性。否则,如果您需要加载的 DLL 或您需要读取的文件可能不在您期望的位置(如果它们应该与工作目录相关)。

关于C#-不使用 System.Diagnostics.Process.Start 执行 Exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2494500/

相关文章:

c# - 在 C# 中下载一个 JSON 字符串

c# - 套接字与 Wcf 通信

c# - 如何检查一个对象的多个属性是否具有相同的条件?

c# - 检查给定对象是否为特定值类型的更好方法是什么?

c# - 关于 ,(?=(? :[ ^']*' [ ^']*' )*[^']*$)

c# - 最佳实践 : Persisting data throughout multiple web method calls

c# - 如何为富文本框中的某些文本设置字体样式?

c# - 尝试加载程序集 ID 65675 时 Microsoft .NET Framework 中发生错误

c# - 正则表达式新行不起作用

c# - 如何使用 native MongoDB.Driver 将 mongo 脚本转换为纯 C# 代码?