文章目录[隐藏]
当我们启动多线程多窗口多任务时, 我们要关闭退出游戏,需要一个一个的手动结束,非常非常麻烦,本课的方法实现了一键关闭游戏,主要是通过API实现循环结束游戏进程,从而实现一键关闭游戏。
优酷土豆链接:优酷土豆视频高清观看
优酷全部教程播单:http://i.youku.com/i/UNTU3NDYyODg0/playlists
源码、和高清下载:百度云地址:http://pan.baidu.com/s/1cJ6BpG
本课百度云盘下载 密码
:进QQ群 521068947 到群文件下载对应的课程。
所有视频播放密码: 511yj.com
所有源码高清视频解压密码: www.511yj.com
本人QQ: 272586593
1、目的是一键结束游戏
2、用到的api
(1) TerminateProcess
这个函数可以用来终止或者说杀死一个进程,它不会留给进程及其所有线程清理的时间,系统会马上终止(杀死)这个进程的所有线程,致使进程终止。在使用此函数前我们必须要调用OpenProcess函数来获得我们要终止(杀死)进程的句柄,并且要获得进程的PROCESS_TERMINATE权限。
函数原型:
BOOL TerminateProcess(HANDLE hProcess,UINT uExitCode)
参数说明:
1、hProcess:要终止(杀死)进程的句柄,需要有PROCESS_TERMINATE权限。
2、uExitCode:设置进程的退出值。可通过GetExitCodeProcess函数得到一个进程的退出值。
返回值:
如果失败将返回FALSE(0),而成功将返回一个非零值。
注:不要用if(ret==TRUE)去检测函数是否调用成功,因为函数调用成功会返回一个非零值,但不一定是TRUE(1)
.版本 2 .DLL命令 TerminateProcess, 整数型, , "TerminateProcess", 公开, _进程终止 .参数 进程ID, 整数型 .参数 a, 整数型
(2) OpenProcess
OpenProcess 函数用来打开一个已存在的进程对象,并返回进程的句柄。
1.函数原型
HANDLE OpenProcess( DWORD dwDesiredAccess, //渴望得到的访问权限(标志) BOOL bInheritHandle, // 是否继承句柄 DWORD dwProcessId// 进程标示符 );
3、易语言进程结束
.版本 2 .子程序 进程_结束, 逻辑型, 公开, 结束指定进程。成功返回真,失败返回假。.参数 进程ID, 整数型, 可空, 欲结束的进程ID,如果为空将结束自己 .如果真 (是否为空 (进程ID)) 进程ID = 进程_取自进程ID () .如果真结束 返回 (TerminateProcess (OpenProcess (1, 0, 进程ID), 0) = 1)