0

我有一个.exe它自己“运行”正常,没有错误。我打电话给它,CreateProcess()我打电话WaitForSingleObject()知道它什么时候完成,什么时候WaitForSingleObject()被称为“子”进程粉碎。

编码:

#include <iostream>
#include <windows.h>
using namespace std;

int main() {
    STARTUPINFOA info;
    PROCESS_INFORMATION processInfo;

    ZeroMemory(&info, sizeof(info));
    info.cb = sizeof(info);
    ZeroMemory(&processInfo, sizeof(processInfo));

    char path[] = "C:/.../ExeName.exe";

    if (CreateProcessA(path, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &info, &processInfo)) {

        WaitForSingleObject(processInfo.hProcess, INFINITE);

        CloseHandle(processInfo.hProcess);
        CloseHandle(processInfo.hThread);
    }
    else {
        cout << "Fail";
    }

    return 0;
}

被调用.exe者从文件中读取,进行一些(我会说很轻)计算和堆分配,而不打印任何内容,然后将结果写入另一个文件。如果它找不到它创建的文件,我尝试将它读取的文件复制到调用所在的.exe位置,但没有任何改变。

4

0 回答 0