微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决用“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 举报,一经查实,本站将立刻删除。