本实例介绍如何在自己的程序里面模拟鼠标的常用操作
首先启动一个新的项目在空白的窗体上添加个TButton组件添加组件后的窗体如图所示
图 添加组件后的窗体这个按钮分别用于模仿鼠标的个动作——移动鼠标到指定位置左键单击左键双击和右键单击
下面以鼠标左键单击为例来说明如何模拟鼠标操作
procedure TFormbtnLClickClick(Sender: TObject);
begin
SetCursorPos();
mouse_event(MOUSEEVENTF_LEFTDOWN);
mouse_event(MOUSEEVENTF_LEFTUP);
end;
首先需要通过SetCursorPos函数来设置需要单击的坐标然后通过mouse_event (MOUSEEVENTF_LEFTDOWN)语句在()坐标处按下鼠标左键最后不要忘了通过mouse_event(MOUSEEVENTF_LEFTUP)语句释放鼠标左键
双击的操作可以通过两个连续的单击来实现鼠标移动的操作可以通过指定mouse_event 函数的第个参数MOUSEEVENTF_MOVE第个和第个参数为左边来实现右键单击和左键单击的原理一致只不过mouse_event函数中的参数分别替换为MOUSEEVENTF_RIGHTDOWN和MOUSEEVENTF_RIGHTUP
程序代码如下
unit Unit;
interface
uses
Windows Messages SysUtils Variants Classes Graphics Controls Forms
Dialogs StdCtrls;
type
TForm = class(TForm)
btnMove: TButton;
btnLClick: TButton;
btnLDClick: TButton;
btnRClick: TButton;
procedure btnMoveClick(Sender: TObject);
procedure btnLClickClick(Sender: TObject);
procedure btnLDClickClick(Sender: TObject);
procedure btnRClickClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form: TForm;
implementation
{$R *dfm}
procedure TFormbtnMoveClick(Sender: TObject);
begin
mouse_event(MOUSEEVENTF_MOVE);
end;
procedure TFormbtnLClickClick(Sender: TObject);
begin
SetCursorPos();
mouse_event(MOUSEEVENTF_LEFTDOWN);
mouse_event(MOUSEEVENTF_LEFTUP);
end;
procedure TFormbtnLDClickClick(Sender: TObject);
begin
SetCursorPos();
mouse_event(MOUSEEVENTF_LEFTDOWN);
mouse_event(MOUSEEVENTF_LEFTUP);
mouse_event(MOUSEEVENTF_LEFTDOWN);
mouse_event(MOUSEEVENTF_LEFTUP);
end;
procedure TFormbtnRClickClick(Sender: TObject);
begin
SetCursorPos();
mouse_event(MOUSEEVENTF_RIGHTDOWN);
mouse_event(MOUSEEVENTF_RIGHTUP);
end;
end
保存文件然后按F键运行程序程序运行的初始画面如图所示
图 程序运行的初始画面通过单击窗体上的移动鼠标左键单击左键双击和右键单击按钮可以分别完成模拟移动鼠标到指定位置左键单击左键双击和右键单击等操作
本程序介绍了如何在程序中模拟鼠标的常用操作这一点在远程监控软件中非常重要通过mouse_event函数就可以实现远程的鼠标管理和操作