首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VC 中进程有关问题

2012-01-20 
VC 中进程问题?某操作时只要通过主程序启动相应的子进程即可,具体的处理工作均由子进程去完成。这类子进程

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

热点排行