SysHandleOfPid
简述
Windows上获取进程id对应的句柄,Linux上获取指定文件ID的复制ID。得到的句柄可用函数FAQ:
SysCloseHandle进行关闭。
SysHandleOfPid(pid:Integer[;rights:Integer[;InheritHandle:Boolean]]):IntPtr/Integer;
名称 | 类型 | 说明 |
---|
pid | integer | 整数,进程ID |
rights | integer | 整数,可选参数,设置进程句柄权限,Linux上无效。常见的权限设置值如下: 值 | 十进制值 | 访问权限 | 可操作范围 | 0x0010 | 16 | PROCESS_VM_READ | 读取进程内存内容 | 0x0400 | 1024 | PROCESS_QUERY_INFORMATION | 查询完整进程信息(令牌、优先级等) | 0x1000 | 4096 | PROCESS_QUERY_LIMITED_INFORMATION(缺省值) | 仅查询进程基础信息(PID、退出代码等) | 0xFFFF | 65535 | PROCESS_ALL_ACCESS | 所有权限(包括终止、内存写入等) | 更多说明,可参考微软官方文档:处理安全和访问权限 |
inherithandle | integer | 布尔值,可选参数,是否继承,Linux上无效 |
返回值 | integer | 获取成功,返回进程句柄;否则,返回0 |
范例01:根据进程ID获取进程句柄
打开记事本,在任务管理器中查找对应进程ID:
ret:= SysHandleOfPid(35880);
If ret then
return ret;
else
return "根据进程ID获取进程句柄失败!"