vb 查找句柄并模拟点击问题!

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:03:45
窗口情况是这样的:
父窗口标题:test
程序有个按扭当点击时弹出个无标题的信息对话框,信息对话框有2个按扭一个是“是”另一个是“否”。用vb写就是[msgbox "error",vbyesno,""],现在我就想写一个程序 去检测当有这个窗口的时候就自动点“是”!
{补充最好使用postmessage}!!----菜鸟求学!!拜托各位老师牺牲少少时间,QQ:182818811 email:182818811@qq.com

方法1:用工具找到这个程序的类名(一般程序类名都是不一样的),然后用FindWindow就可以找到这个窗口的句柄。
方法2:如果它是前台窗口可用GetForegroundWindow或GetFocus
或用GetCursorPos加WindowFromPoint用鼠标选

然后用sendkey或postmessage点是。

最好的方法是写个Dll,注册一个CBT Hook或者Shell hook都行,当窗口被创建时给你自己的程序发送一个随便什么消息,把窗口的句柄当消息的参数发送。你的程序受到消息后用FindWindowEx函数去找"是"按钮的句柄,然后给"是"按钮发送一个BM_CLICK消息就OK了。

如果不愿意做钩子的话,就做个Timer,定时查找窗口是否出现,如果出现的话,还是用FindWindowEx找"是"按钮,然后给他发送BM_CLICK消息

MsgBox "df d", vbOKOnly, ""
SendKeys "{enter}", True

你看看这个:

http://zhidao.baidu.com/question/52266976.html?si=7