工作集问题
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <assert.h>
int main(){
// 创建一个进程
TCHAR szPath[80]=TEXT("E:\\MFC\\codeSave\\snake\\Rel\\snake.exe");
STARTUPINFO st = {sizeof(st)};
PROCESS_INFORMATION pInfo;
CreateProcess(NULL,szPath,NULL,NULL,
FALSE,CREATE_SUSPENDED,NULL,NULL,&st,&pInfo);
// 创建一个工作集
HANDLE hJob = CreateJobObject(NULL,TEXT("deng"));
// 进程加入工作集
AssignProcessToJobObject(hJob,pInfo.hProcess);
// 唤醒进程的主线程
ResumeThread(pInfo.hThread);
_getch();
// 结束工作集
DWORD dwExitCodeSet = 100;
TerminateJobObject(hJob,dwExitCodeSet);
// 测试退出码
DWORD dwExitCode;
//GetExitCodeProcess(pInfo.hThread,&dwExitCode);
GetExitCodeProcess(pInfo.hProcess,&dwExitCode);
assert(dwExitCode==dwExitCodeSet);
return EXIT_SUCCESS;
}
// 上面的断言将失败, 不知为何 ???
Assertion failed: dwExitCode==dwExitCodeSet, file e:\mfc\windows核心编程
\study\study.cpp, line 40
平台: VC6 + WinXp Sp2
有知道的请解释下,谢谢 。
评论