VB获取窗口下,鼠标光标位置所在的控件句柄

2024-12-16 06:29:52
推荐回答(3个)
回答1:

API:
GetForegroundWindow 可以获取到有焦点的顶层窗口。

获取有焦点的子窗口只能用GetFocus,但是如果当前顶层窗口属于其他线程,GetFocus将返回NULL。没有好的办法解决,除非AttachThreadInput或者用钩子(HOOK)。

回答2:

声明api: 函数WindowFromPoint
类型POINTAPI

'-----------------------------
dim pt as POINTAPI
pt.x=200
pt.y=200
dim PThWnd as long
PThWnd=WindowFromPoint(pt)
msgbox PThWnd
'----------------------------
手写的,不排除会有输入错误,但是算法是正确的。。。。

按钮控件不可用时,显示控件,但是不接受消息,所以得不到句柄

回答3:

先获取鼠标当前的坐标,再获取当前坐标下的对象够柄