delphi自动点击按钮的问题

unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,F... unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
h, i: HWND;
j, k : HWND;
l, m : HWND;

begin
h := FindWindow(nil, '搜狗拼音输入法 5.2正式版 安装');

while(h<>0) do
begin

i := FindWindowEx(h,0,'Button','下一步(&N) >');
SendMessage(i, BM_CLICK, 0, 0);
sleep(100);
memo1.Lines.Add('action 1') ;

j := FindWindowEx(h,0,'Button','我接受(&I)');
SendMessage(j, BM_CLICK, 0, 0);
sleep(500);
memo1.Lines.Add('action 2') ;
这是代码,前面几个按钮都点击成功不知道最后一个为什么总是失败

end;

end;

end.
我没设断点,但是窗体上接了个memo,没点击一个按钮memo就会显示一定字符,前几个按钮都正常可以点击,就是最后一个,显示点击了但是实际并没有成功
展开
 我来答
rich556677
2013-08-06
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你好,这个问题所在我可能告诉你,因为点击是两个事件才有效,你只写了一个,就是按下,没有写弹起的,前两个是因为有第三个按下的,所以系统会调弹起的,最后一个没有再调用按下——弹起的没执行,所以不成功,需要改一下。下面是演示代码,不一定正确,你自己 查查。
SendMessage(j, BM_CLICK_UP, 0, 0);其他几个也建议发出弹起的消息。
追问
rich556677你把函数搞清楚了在说话。。。。
你的方法我早就试过了,不行
另外你说的那中格式是sendmessage(h1,WM_LBUTTONDOWN,0,0)。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
2013-08-05
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
SendMessage(j, BM_CLICK, 0, 0);下断点,然后运行看一下j是不是取到值了,如果没有说明那个按钮文本你可能写的不对,用spyit之类的检查一下那个按钮。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-06
展开全部
、一花一世界,一叶一追寻。一曲一场叹,一生为一人。
 34、谁应了谁的劫谁又变成了谁的执念。
 35、尘缘从来都如水,罕须泪,何尽一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式