进程ID,是指任务管理器中每个进程的PID,或者说是系统给分配的一个编号。
具体查看方法:(WIN7)选择任务管理器-查看菜单-选择列-PID(进程标识符)
句柄,是指启动一个程序或窗口时,系统分配给此程序或窗口的唯一的数字型编号,但是句柄并非永久有效的。一旦这个程序或窗口被关闭后,那此句柄也将消失,当再次启动此程序时,句柄的数字型编号与上次启动的有时会有所不同。
大致的使用方法为:进程ID主要为 *** 作某个进程而使用的,而句柄主要为 *** 作某个窗口而使用的。
如果我说的有哪里不对的地方,欢迎各位大神们继续补充。
先用GetWindowThreadProcessId获取进程的id
OpenProcess即可打开进程句柄
CloseHandle关闭进程句柄
测试了一下qq也是可以打开它的进程句柄的,应该是你的代码错了
以下是易语言的代码:直接复制下来粘贴到易语言上:
版本 2
子程序 子程序1, 整数型
参数 窗口句柄, 整数型
局部变量 hProcess, 整数型
局部变量 dwProcessId, 整数型
GetWindowThreadProcessId (窗口句柄, dwProcessId)
hProcess = OpenProcess (2035711, 0, dwProcessId)
CloseHandle (hProcess)
返回 (hProcess)
版本 2
DLL命令 CloseHandle, 逻辑型, "Kernel32", "CloseHandle"
参数 hObject, 整数型
DLL命令 OpenProcess, 整数型, "kernel32", "OpenProcess"
参数 dwDesiredAccess, 整数型
参数 bInheritHandle, 整数型
参数 dwProcessId, 整数型
DLL命令 GetWindowThreadProcessId, 整数型, "user32dll", "GetWindowThreadProcessId"
参数 hWnd, 整数型
参数 lpdwProcessId, 整数型, 传址
The GetProcessHandleFromHwnd function retrieves a process handle from a window handle
HANDLE WINAPI GetProcessHandleFromHwnd(
HWND hwnd,
);
这个函数通过窗口句柄获得进程句柄。有了进程句柄,PID是不是就知道怎么获得了?什么?不知道?那我告诉你,GetProcessId可以通过进程句柄获得进程ID:
DWORD WINAPI GetProcessId(
__in HANDLE Process
);
The GetProcessHandleFromHwnd function retrieves a process handle from a window handle
HANDLE WINAPI GetProcessHandleFromHwnd(
HWND hwnd,
);
这个函数通过窗口句柄获得进程句柄。有了进程句柄,PID是不是就知道怎么获得了?什么?不知道?那我告诉你,GetProcessId可以通过进程句柄获得进程ID:
DWORD WINAPI GetProcessId(
__in HANDLE Process
);
以上就是关于易语言取进程id和取句柄有什么不同全部的内容,包括:易语言取进程id和取句柄有什么不同、易语言进程句柄和线程句柄获得问题、一个进程有很多窗口,怎么取这个进程的下所有窗口句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)