delphi点击外部程序的按钮

delphi点击外部程序的按钮,第1张

首先你需要获得你要点击的按钮句柄,然后你可以通过你的Delphi程序给该按钮发送消息(sendmessage之类的API函数)。消息的格式你可以通过spy++来获得(spy++不但可以获得你需要的句柄,还可以得到某个事件发生时所产生的消息。)具体做法为:把spy++获得消息的靶型图标拖到你要发送消息的按钮上,这是你就会得到该按钮的所有句柄继承关系(包括按钮本身的句柄。),然后你按下你需要发送消息的按钮,这时在spy++的消息显示框里就得到了单击该按钮产生的所有消息。接下来你就可以讲这些消息通过你的程序发送到该按钮上。(具体产生的消息主要就是这两个:鼠标按下(mousedown),鼠标d回(mouseup))。

看你要做什么,比较现在网络很流行的QQ、MSN这些软件都屏蔽了,你可能还可以访问一些小软件的这些控制,思路及方案如下(API函数自己去百度查一下)

1.得到你要这个窗口的句柄 使用FindWindow

2.利用枚举函数EnumChildWindows把这个窗口里的所有文本框、按钮找到,并得到其句柄,EnumChildWindows需要一个回调函数,你可以在回调函数中把模拟输入,单击双击这些 *** 作加上去

3.在回调函数里,其实就是向你找到的按钮或文本框发送消息

消息说明:

比如得到文本框中的文字消息:WM_GETTEXT

设置文本框的文字消息:WM_SETTEXT

鼠标左键单击WM_LBUTTONDOWN必须与WM_LBUTTONUP配对使用

双击左键WM_LBUTTONDBLCLK


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

原文地址: https://outofmemory.cn/yw/7822147.html

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

发表评论

登录后才能评论

评论列表(0条)

保存