结束一个进程
进程结束的方式
1、进程的主线程返回(最好的方式)
进程结束的方式
1、进程的主线程返回(最好的方式)
什么时进程的主线程?主线程就是Main,WinMain代表的线程。也是进程中的第一个线程
无论这个进程还有多少其他线程,只要这个主线程一退出,那么这个进程就结束了,
其他线程自然就被系统杀死,也就是其他线程自然终止!
2、进程中的一个线程调用ExitProcess函数(不推荐)
这个函数只能结束本进程,也就是这个函数只能吧自己所在的进程干掉,其他进程干不掉。这个函数是一个同步函数,或者说是一个阻塞函数,也就是这个函数ExitProcess干完活后才返回。
3、其他进程中的某个线程调用TerminateProcess函数(不推荐)
只要你有足够的权限,你就可以使用这个TerminateProcess函数结束系统中的任意进程,这个TerminateProcess函数是一个异步函数
异步和同步的简单理解:同步就是让ExiteProcess执行,然后主调函数等待执行完。异步就是让TerminateProcess执行后,主调函数就不管了,自己也执行自己的。
同步的本质时同一线程,异步的本质时多线程。
4、进程中的所有线程执行完毕(这个很少出现)
TerminateProcess函数是一个异步函数
当一个进程结束的时候,下面的动作一定被执行:
1、所有线程结束
2、所有用户GDI对象被释放,所有内核对象被关闭
例如申请的内存,画笔,背景刷,句柄,设备句柄
3、退出码被设置。(退出码就是