Delphi用sendmessage方法发送消息在类名为Edit的窗口中坐标(100,200)处单击左键
Delphi用sendmessage方法发送消息在类名为Edit的窗口中坐标(100,200)处单击左键要sendmessage方法写出来,后台模拟鼠标单击,而且要指定坐...
Delphi用sendmessage方法发送消息在类名为Edit的窗口中坐标(100,200)处单击左键
要sendmessage方法写出来,后台模拟鼠标单击,而且要指定坐标。
要完整代码,测试有效立即给分,另外加分。。。。 展开
要sendmessage方法写出来,后台模拟鼠标单击,而且要指定坐标。
要完整代码,测试有效立即给分,另外加分。。。。 展开
展开全部
var
Gameh:HWND;//定义一个句柄变量
begin
GameH:=FindWindow('Edit',nil);//这个是根据窗口类名查找窗口句柄
SendMessage(Gameh,messages.WM_LBUTTONDOWN,0,$01DF0153);
SendMessage(Gameh,messages.WM_LBUTTONUP,0,$01DF0153);
end;
//SendMessage的参数1是窗口句柄,
//参数2是常量,模拟鼠标按下(messages.WM_LBUTTONDOWN),后面一个是模拟鼠标弹起(messages.WM_LBUTTONUP)。
//参数3可以不填,这里没用
//参数4是窗口中需要点击的那个按钮在窗口中对应的坐标。是16进制的。你的(100,200)也需要转换成16进制。我这里是填的另外个坐标,你改下就可以了、
因为Delphi我也是昨晚上才开始学习,所以不知道说得多不、但是我实现了的
Gameh:HWND;//定义一个句柄变量
begin
GameH:=FindWindow('Edit',nil);//这个是根据窗口类名查找窗口句柄
SendMessage(Gameh,messages.WM_LBUTTONDOWN,0,$01DF0153);
SendMessage(Gameh,messages.WM_LBUTTONUP,0,$01DF0153);
end;
//SendMessage的参数1是窗口句柄,
//参数2是常量,模拟鼠标按下(messages.WM_LBUTTONDOWN),后面一个是模拟鼠标弹起(messages.WM_LBUTTONUP)。
//参数3可以不填,这里没用
//参数4是窗口中需要点击的那个按钮在窗口中对应的坐标。是16进制的。你的(100,200)也需要转换成16进制。我这里是填的另外个坐标,你改下就可以了、
因为Delphi我也是昨晚上才开始学习,所以不知道说得多不、但是我实现了的
展开全部
Gameh:HWND;//定义一个句柄变量
begin
GameH:=FindWindow('Edit',nil);//这个是根据窗口类名查找窗口句柄
SendMessage(Gameh,messages.WM_LBUTTONDOWN,0,$01DF0153);
SendMessage(Gameh,messages.WM_LBUTTONUP,0,$01DF0153);
end;
//SendMessage的参数1是窗口句柄,
//参数2是常量,模拟鼠标按下(messages.WM_LBUTTONDOWN),后面一个是模拟鼠标弹起(messages.WM_LBUTTONUP)。
//参数3可以不填,这里没用
//参数4是窗口中需要点击的那个按钮在窗口中对应的坐标。是16进制的。你的(100,200)也需要转换成16进制。
begin
GameH:=FindWindow('Edit',nil);//这个是根据窗口类名查找窗口句柄
SendMessage(Gameh,messages.WM_LBUTTONDOWN,0,$01DF0153);
SendMessage(Gameh,messages.WM_LBUTTONUP,0,$01DF0153);
end;
//SendMessage的参数1是窗口句柄,
//参数2是常量,模拟鼠标按下(messages.WM_LBUTTONDOWN),后面一个是模拟鼠标弹起(messages.WM_LBUTTONUP)。
//参数3可以不填,这里没用
//参数4是窗口中需要点击的那个按钮在窗口中对应的坐标。是16进制的。你的(100,200)也需要转换成16进制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
经过测试,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
hwnd,h1 : Integer;
begin
hwnd := FindWindow('Notepad',nil); //²éÕÒ´°¿ÚÀàÃûEdit,Ò²¾ÍÊǼÇʱ¾±à¼¿ò
h1 := FindWindowEx(hwnd,0,'Edit',nil);
if h1<>0 then
begin
SendMessage(h1, WM_LBUTTONDOWN ,MK_LBUTTON, MAKELPARAM (100, 200));
Sleep(20);
SendMessage(h1, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(100,200));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
hwnd,h1 : Integer;
begin
hwnd := FindWindow('Notepad',nil); //²éÕÒ´°¿ÚÀàÃûEdit,Ò²¾ÍÊǼÇʱ¾±à¼¿ò
h1 := FindWindowEx(hwnd,0,'Edit',nil);
if h1<>0 then
begin
SendMessage(h1, WM_LBUTTONDOWN ,MK_LBUTTON, MAKELPARAM (100, 200));
Sleep(20);
SendMessage(h1, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(100,200));
end;
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再说详细点,
你说的太模糊了。
实现是很简单的。
你说的太模糊了。
实现是很简单的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询