windows核心编程-如何关闭进程

结束一个进程
进程结束的方式
1、进程的主线程返回(最好的方式)

什么时进程的主线程?主线程就是Main,WinMain代表的线程。也是进程中的第一个线程

无论这个进程还有多少其他线程,只要这个主线程一退出,那么这个进程就结束了,

其他线程自然就被系统杀死,也就是其他线程自然终止!


2、进程中的一个线程调用ExitProcess函数(不推荐)

这个函数只能结束本进程,也就是这个函数只能吧自己所在的进程干掉,其他进程干不掉。这个函数是一个同步函数,或者说是一个阻塞函数,也就是这个函数ExitProcess干完活后才返回。


3、其他进程中的某个线程调用TerminateProcess函数(不推荐)

只要你有足够的权限,你就可以使用这个TerminateProcess函数结束系统中的任意进程,这个TerminateProcess函数是一个异步函数

异步和同步的简单理解:同步就是让ExiteProcess执行,然后主调函数等待执行完。异步就是让TerminateProcess执行后,主调函数就不管了,自己也执行自己的。

同步的本质时同一线程,异步的本质时多线程。

4、进程中的所有线程执行完毕(这个很少出现)

TerminateProcess函数是一个异步函数


当一个进程结束的时候,下面的动作一定被执行:

1、所有线程结束

2、所有用户GDI对象被释放,所有内核对象被关闭

例如申请的内存,画笔,背景刷,句柄,设备句柄

3、退出码被设置。(退出码就是

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值