C#使用命令行调用应用程序

时间:2013-12-15 12:08:46

标签: c# c++ command-line argv argc

在我的C ++应用程序中,.exe,我有:

int main(int argc, char** argv){
--argc;
++argv;
if (argc != 1){
    throw std::exception("Bad command line.");
}

E.t.c

但是我如何在我的C#(WPF)应用程序中调用它?我试过了System.Diagnostics.Process.Start("pathofapp.exe", "stringiwantedtouse"),但我得到了Bad Command Line。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您应该尝试使用这样的c ++程序:

int main ( int argc, char *argv[] )
{
    if (argc != 1){
        throw std::exception("Bad command line.");
    }
}

然后使用argv [0]访问它的第一个参数。

例如:

在C ++中:

int main ( int argc, char *argv[] )
{
    if (argc != 1){
        throw std::exception("Bad command line.");
    }else{
        std::cout << "Param 1: " << argv[0] << std::endl;
    }
}

在C#中:

System.Diagnostics.Process.Start("pathofapp.exe", "this");

输出:

Param 1: this

答案 1 :(得分:0)

System.Diagnostics.Process.Start("pathofapp.exe", "stringiwantedtouse")