读书人

VC 中进程有关问题

发布时间: 2012-01-20 18:53:53 作者: rapoo

VC 中进程问题?
某操作时只要通过主程序启动相应的子进程即可,具体的处理工作均由子进程去完成。这类子进程的创建过程更为简单,例如对于上面那段代码只需去除对子进程句柄pi.hProcess的等待即可:

BOOL ret = CreateProcess(NULL, cCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (ret) {
 // 关闭子进程的主线程句柄
 CloseHandle(pi.hThread);
 // 关闭子进程句柄
 CloseHandle(pi.hProcess);
}
我想问的是:CloseHandle(pi.hThread);和CloseHandle(pi.hProcess);
不就把进程的句柄关闭了,是不是这个自进程就退出了?或者还是在继续运行呢?

[解决办法]
CloseHandle(pi.hThread);和CloseHandle(pi.hProcess);
不会关闭进程运行。
一个句柄相当于一个指针。。
关闭句柄只是断开了句柄和进程之间的联系。
要结束进程还是要用TerminateProcess

读书人网 >VC/MFC

热点推荐