delphi如何自动点击窗体中的任意一个坐标点?

比如说我做了个窗体,如果实现程序运行时自动点击窗体中的某个点,如坐标(50,50)从而实现这个点无论是按钮还是图片或是下载链接都能实现点击。哪位教下,有源码最好:)具体点... 比如说我做了个窗体,如果实现程序运行时自动点击窗体中的某个点,如坐标(50,50)从而实现这个点无论是按钮还是图片或是下载链接都能实现点击。哪位教下,有源码最好:)
具体点就是怎么写关于MOUSEEVENTF_LEFTDOWN等的代码
展开
 我来答
匿名用户
2006-06-15
展开全部
用以下函数实现^_^(虽然是C++定义写法,但是Delphi定义与之相同)
VOID mouse_event( DWORD dwFlags,
DWORD dx,
DWORD dy,
DWORD dwData,
ULONG_PTR dwExtraInfo
);

参数说明一下:)
dwFlags 指定鼠标的动作,移动或者点击,可有以下参数
MOUSEEVENTF_ABSOLUTE 指定其后参数dx,dy为绝对坐标,否则为相对坐标
MOUSEEVENTF_MOVE 指定移动鼠标
MOUSEEVENTF_LEFTDOWN 指定鼠标左键按下
MOUSEEVENTF_LEFTUP 指定鼠标左键弹起
dx,dy 指定了鼠标的坐标,如果第一个参数有MOUSEEVENTF_ABSOLUTE 则为绝对坐标,否则为相对坐标。
最后两个参数一般设为0,具体解释请参考MSDN或Delphi帮助。

如果需要程序运行时自动点击窗体中某个点,首先需要获取该点的绝对坐标(相对于整个屏幕),一般是将窗体的坐标+上窗体内的坐标。如(50,50)的绝对坐标可能是(Form1.Left+50,Form1.Top+50),此值不一定准确,需要自己修正。
mouse_event(MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_ABSOLUTE,Form1.Left+50,Form1.Top+50,0,0);

mouse_event(MOUSEEVENTF_LEFTUP or MOUSEEVENTF_ABSOLUTE,Form1.Left+50,Form1.Top+50,0,0);
这样就可以实现模拟鼠标点击的效果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式