0

在我的 C++ 应用程序中,这是一个.exe,我有这个:

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

ETC

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

4

2 回答 2

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
于 2013-12-15T15:14:37.737 回答
0
System.Diagnostics.Process.Start("pathofapp.exe", "stringiwantedtouse")
于 2013-12-15T12:11:24.540 回答