我有一个.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
位置,但没有任何改变。