fxtdldcf 发表于 2017-2-19 01:29:53

delphi 模拟鼠标点击

首先我们需要获取按钮相对于软件窗口的位置{:5_108:}

var
pt: TPoint;                                        //用来存放坐标


GetCursorPos(pt);                              //取得鼠标坐标

pt := ScreenToClient(pt);                   //把屏幕坐标转换成相对于软件窗口的坐标

edt1.text:=pt.x
edt2.text:=pt.y                                    //显示出来

这时我们已经获取按钮相对于主程序的位置了 接下来就是模拟点击


我们把获取到的位置转换成屏幕坐标(鼠标坐标)                  //这么做的目的主要是为了兼容不同宽度的屏幕

var
pt:TPoint;

pt.x:=edt1.text;
pt.y:=edt2.text;

ClientToScreen(pt);                                                            //相对于软件窗口坐标转屏幕坐标

SetCursorPos(pt.x,pt.y);                                                      //实现鼠标的移动   闪现 {:5_107:}    如果不想使用者看出端倪还可以闪现回来

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟按下鼠标左键。

mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟放开鼠标左键。

拿铁 发表于 2017-2-19 16:39:57

不错,学习到了。。收藏一下。
页: [1]
查看完整版本: delphi 模拟鼠标点击