用“CreateProcess”调用的进程.exe粉碎

问题描述

我有一个 .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,FALSE,&info,&processInfo)) {

        WaitForSingleObject(processInfo.hProcess,INFINITE);

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

    return 0;
}

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)