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的话,
1、用OpenProcess通过ID打开进程,获得进程句柄(windowsh,kernel32lib)
2、用GetProcessImageFileName获得程序名(psapih,kernel32lib或psapilib)
版本 2
GW_HWNDNEXT=2
枚举窗口 = 取列表顶级窗口_ (0)
判断循环首 (枚举窗口 ≠ 0)
PID = 0
子线程ID = 取进程线程标识符_ (枚举窗口, PID)
如果真 (子线程ID ≠ 0)
如果真 (PID = 进程ID)
找到的窗口句柄 = 枚举窗口 '把这里的换成你想要的进程就可以了
跳出循环 ()
如果真结束
如果真结束
枚举窗口 = 取得窗口_ (枚举窗口, #GW_HWNDNEXT)
判断循环尾 ()
GetWindowThreadProcessId(窗口句柄,进程ID)
这个可以通过窗口句柄查询到进程ID
EnumWindows() 这个可以枚举所有窗口的顶级窗口句柄,然后用循环判断PID相等就可以得出这个进程的窗口句柄
以上就是关于一个进程有很多窗口,怎么取这个进程的下所有窗口句柄全部的内容,包括:一个进程有很多窗口,怎么取这个进程的下所有窗口句柄、由程序进程id或窗口句柄如何获得程序名、易语言如何通过窗口句柄获取进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)