使用命令行参数运行exe

时间:2015-05-04 10:29:22

标签: c#

我有一个我想通过命令行参数执行它的exe。

        var query = Path.Combine(path, calculator.ExeName + ".exe");
        var p = new Process();
        p.StartInfo.FileName = query;
        //the command line parameter that causes the exe to start in an invisible mode
        p.StartInfo.Arguments = "episrc"
        p.Start();

这段代码有效,它启动了exe,但是有一个问题:exe应该是在其目录中的文件上写,但这不会发生。该过程成功退出(Exitcode0)。可能是造成这个问题的原因是什么? 我有一个Delphi代码成功执行exe和exe写入文件,但它使用win32 API的ExecProcess,因此exe是有效的。

此外,如果我尝试从命令提示符执行它,如下所示:kowwinnt.exe episrc它会成功写入文件。

1 个答案:

答案 0 :(得分:1)

您应该设置Working Directory

您的代码如下所示:

    var query = Path.Combine(path, calculator.ExeName + ".exe");
    var p = new Process();
    p.StartInfo.FileName = query;
    p.StartInfo.WorkingDirectory = path;
    //the command line parameter that causes the exe to start in an invisible mode
    p.StartInfo.Arguments = "episrc"
    p.Start();