------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
同进程的直接获得资源编号就可以了,获得GetDlgItem(资源编号)-GetSafeHwnd()就可以获取句柄了,然后SendMessage(句柄,WM_LBUTTONDOWN,NULL,NULL);
如果调用了,messagebox,必须保证你没有按 yesno将那个对话框关闭才能找到那个“是”按钮。
先找到对话框的句柄,通过 FindWindow(NULL,"1")。查找或者,根据类名,使用spy++就能看到了。或者 GetWindow 枚举也可以。
然后通过 GetWindow( hdlgWnd, GW_CHILD);获取对话框的第一个子控件,再使用 GetWindowText 获得这个子控件的名称看是否是“是”,或者 GetDlgCtrlID 看这个字控件ID是否 IDYES
如果不是 ,就用 GetWindow(,GW_HWNDNEXT),或者下一个按钮对比
截获消息难哦,要用hook
获取句柄还是容易的
用getcursorpos和windowfrompoint就能实现
======================
要监听消息也要用hook,你可以去参考syp++
private
declare
function
getcursorpos
lib
"user32"
(lppoint
as
any)
as
long
private
declare
function
windowfrompoint
lib
"user32"
(byval
xpoint
as
long,
byval
ypoint
as
long)
as
long
public
function
hwndfromcusror()
as
long
dim
a(1)
as
long
getcursorpos
a(0)
hwndfromcusror
=
windowfrompoint(a(0),
a(1))
end
function
以上就是关于已知对话框的句柄,如何获得其按钮的句柄并发送消息全部的内容,包括:已知对话框的句柄,如何获得其按钮的句柄并发送消息、API中获得按钮句柄、VB 获取其他程序某个按钮的句柄,实现点击 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)