cpp:如何在cpp程序中调用另一个cpp .exe文件

时间:2015-08-06 08:37:17

标签: c++ windows

我正在使用Windows系统,我已经有了一个可执行的cpp程序,在其文件中有一个a.exe文件。
现在我正在编写另一个cpp程序,我想在这个程序中执行a.exe 这样的事情:

void ExecuteA_exe()
{
     // some function to execute a.exe
}

我尝试了三个功能:WinExecShellExecuteCreateProcess 但是我得到了相同的结果:没有 - 没有错误但没有运行a.exe 我的a.exe只是一个简单的cpp程序,当我运行它时,我可以得到控制台窗口。但是如果我运行第二个程序,意味着我尝试调用函数ExecuteA_exe()来运行a.exe,但我什么都没得到。我无法看到a.exe

的控制台窗口

这是我的小测试:

int main()
{
    ShellExecute(GetDesktopWindow(), "open", "C:\\Users\\Thomas\\Documents\\bloomberg - api\\MarketDataAgent\\Debug\\MarketDataAgent.exe", "", "", SW_SHOWNORMAL);

    cout << endl;
    system("pause");
    return 0;
}

当我运行此程序时,它将以没有任何错误结束,但也没有运行a.exe。无论如何,我在等a.exe的控制台,但我无法得到它。

1 个答案:

答案 0 :(得分:0)

这是一个愚蠢的问题,但我认为这意味着什么 ShellExecute()的第三个参数是可执行文件的路径 我做的是我右键点击了a.exe ---&gt;属性---&gt;一般---&gt;位置。
我刚把“位置”复制到我的cpp程序中 但不知何故,在“ - ”之前和之后添加了两个空格,这意味着“bloomberg-api”变成了“bloomberg - api”。
我不知道为什么 总之...