511遇见易语言模块API教程进程结束和进程取自进程ID | 您所在的位置:网站首页 › 易语言取自身进程名 › 511遇见易语言模块API教程进程结束和进程取自进程ID |
当我们多线程多窗口启动游戏时,在退出时我们手动比较麻烦,可以使用进程结束一键退出。 511遇见易语言模块API教程 1、GetCurrentProcessId 获取当前进程一个唯一的标识符 说明: 获取当前进程的标示符(PID) 返回值: 返回一个标示符(PID) 库文件:kernel32.dll .版本 2 .DLL命令 GetCurrentProcessId, 整数型, "kernel32", "GetCurrentProcessId", , 获取当前进程一个唯一的标识符 当前的进程标识符(进程_取自进程ID)2、TerminateProcess 基本简介 TerminateProcess函数终止指定进程及其所有线程。函数原型 BOOL TerminateProcess( HANDLE hProcess,//进程句柄 UINT uExitCode //进程终止码 这个叫进程退出码,一般设置为0, 他的主要作用就是,通知调用这个程序的其他程序退出的原因。 以前在dos下可能用的较多,现在windows下用的很少, 而且windows下进程间传递数据的方式很多,不太需要用这种方式。 这个代码一般没有用途,我们一般可以填入0。对于父进程(不一定是父进程,拥有该进程句柄都算)可以通过GetExitCodeThread获取进程的退出代码。这个代码用来告诉父进程程序退出原因,填入什么没有特别规定,可以自己约定,一般来说填入0表示正常退出,其他表示非正常退出。 返回值: 返回非零值代表成功。0代表失败。 .版本 2 .DLL命令 TerminateProcess, 整数型, "kernel32", "TerminateProcess", , 结束一个进程 非零表示成功,零表示失败。(进程_结束) .参数 hProcess, 整数型, , 指定要中断的一个进程的句柄//进程句柄 .参数 uExitCode, 整数型, , 进程的一个退出代码;通常设为 03、OpenProcess OpenProcess 函数用来打开一个已存在的进程对象,并返回进程的句柄。1.函数原型 HANDLE OpenProcess( DWORD dwDesiredAccess, //渴望得到的访问权限(标志) BOOL bInheritHandle, // 是否继承句柄 如果这个值为真,由这个过程创建的进程将继承该句柄。否则,进程不会继承这个句柄。 DWORD dwProcessId// 进程标示符 );返回值 如成功,返回值为指定进程的句柄。 如失败,返回值为空, //声明: {返回进程的句柄} OpenProcess( dwDesiredAccess: DWORD; {访问选项} bInheritHandle: BOOL; {能否继承; True 表示能用 CreateProcess 继承句柄创建新进程} dwProcessId: DWORD {指定进程 ID} ): THandle; {成功会返回进程句柄; 失败返回 0} //dwDesiredAccess 可选值: PROCESS_TERMINATE = $0001; {允许 TerminateProcess 使用进程句柄来关闭进程} PROCESS_CREATE_THREAD = $0002; {允许 CreateRemoteThread 使用进程句柄来创建线程} PROCESS_VM_OPERATION = $0008; {允许 VirtualProtectEx 使用进程句柄来改变进程的虚拟内存} PROCESS_VM_READ = $0010; {允许 ReadProcessMemory 使用进程句柄从进程的虚拟内存中读取数据} PROCESS_VM_WRITE = $0020; {允许 WriteProcessMemory 使用进程句柄向进程的虚拟内存中写入数据} PROCESS_DUP_HANDLE = $0040; {允许 DuplicateHandle 把进程句柄当作源句柄或目标句柄进行复制} PROCESS_CREATE_PROCESS = $0080; {默认值} PROCESS_SET_QUOTA = $0100; {允许 SetProcessWorkingSetSize 使用进程句柄来来设置虚拟内存的上限值} PROCESS_SET_INFORMATION = $0200; {允许 SetPriorityClass 使用进程句柄来设置进程优先级} PROCESS_QUERY_INFORMATION = $0400; {允许 GetExitCodeProcess 或 GetPriorityClass 通过进程句柄读取进程信息} SYNCHRONIZE = $00100000; {允许任何等待的函数使用进程句柄} PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $FFF); {允许所有权限}完全访问:2035711 http://msdn2.microsoft.com/en-us/library/ms684320.aspx http://msdn2.microsoft.com/en-us/library/ms684880.aspx .版本 2 .DLL命令 OpenProcess, 整数型, "kernel32", "OpenProcess", , 将句柄返回给过程对象(进程_结束) .参数 dwDesiredAccess, 整数型, , //渴望得到的访问权限(标志) .参数 bInheritHandle, 整数型, , // 是否继承句柄 如果这个值为真,由这个过程创建的进程将继承该句柄。否则,进程不会继承这个句柄。 .参数 dwProcessId, 整数型, , // 进程标示符PS: 1、关系运算与逻辑运算的结果为逻辑真(True)或逻辑假(False)。当把逻辑型值转换成数值型时,False转变成0,True转变成-1。当把数值型转换成逻辑型时,0变为False,非0变为True 2、以0开头的是八进制数;以0x或0X开头的数字序列表示十六进制数。加字母 u 或 U 后缀表示无符号整数;加字母 l 或 L 后缀表示长整数 所以,应该0x80000000L是16进制的80000000,转换成10进制是2147483648。 进程_结束 进程_取自进程ID 参考:易语言模块API制作系列视频教程 易语言模块API教程进程结束和进程取自进程ID
|
CopyRight 2018-2019 实验室设备网 版权所有 |