线程 进程学习之三 进程的关闭

关闭进程自然会想到ExitProcess()

不过好像纯粹的调用ExitProcess不嫩结束打开的应用程序,只能结束本程序(运行产生的EXE程序),查看了一些还有TriminateProcess也能终止进程,效果相当于管理器中直接掐掉进程 

ExitProcess()只能强制执行本进程的退出,如果要在一个进程中强制结束其他的进程就要用TerminateProcess()来实现。与ExitProcess()不同,TerminateProcess()函数执行后,被终止的进程是不会得到任何关于程序退出的通知的。也就是说,被终止的进程是无法在结束运行前进行退出前的收尾工作的。所以,通常只有在其他任何方法都无法迫使进程退出时才会考虑使用TerminateProcess()去强制结束进程

DWORD dwTemp;
 HANDLE handle;
 handle = OpenProcess(0, FALSE, pi.dwProcessId);
 if (!GetExitCodeProcess(pi.hProcess, &dwTemp))
 {
  DWORD dwRet = GetLastError();
 }
 HANDLE handle_1 = GetCurrentProcess();
 //TerminateProcess(handle_1, NULL);
 //TerminateProcess(pi.hProcess, NULL);  结束进程 可以杀死进程
 if (dwTemp == STILL_ACTIVE)
  ExitProcess(dwTemp); //终止进程 只能结束当前进程,不能结束TTpalyer进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值