一个进程有很多窗口,怎么取这个进程的下所有窗口句柄

一个进程有很多窗口,怎么取这个进程的下所有窗口句柄,第1张

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或窗口句柄如何获得程序名、易语言如何通过窗口句柄获取进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10056962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存