程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi編程模擬鼠標操作

Delphi編程模擬鼠標操作

編輯:Delphi

本實例介紹如何在自己的程序裡面模擬鼠標的常用操作。

首先啟動一個新的項目,在空白的窗體上添加4個TButton組件。添加組件後的窗體如圖1所示。

圖1 添加組件後的窗體

這4個按鈕分別用於模仿鼠標的4個動作——移動鼠標到指定位置、左鍵單擊、左鍵雙擊和右鍵單擊。

下面以鼠標左鍵單擊為例來說明如何模擬鼠標操作:

procedure TForm1.btnLClickClick(Sender: TObject);
begin
  SetCursorPos(10,10);
  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end;

首先需要通過SetCursorPos函數來設置需要單擊的坐標。然後通過mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0)語句在(10,10)坐標處按下鼠標左鍵。最後不要忘了通過mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0)語句釋放鼠標左鍵。

雙擊的操作可以通過兩個連續的單擊來實現;鼠標移動的操作可以通過指定mouse_event 函數的第1個參數MOUSEEVENTF_MOVE,第2個和第3個參數為左邊來實現;右鍵單擊和左鍵單擊的原理一致,只不過mouse_event函數中的參數分別替換為MOUSEEVENTF_RIGHTDOWN和MOUSEEVENTF_RIGHTUP。

程序代碼如下:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = 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
  Form1: TForm1;
  implementation
  {$R *.dfm}
  procedure TForm1.btnMoveClick(Sender: TObject);
  begin
   mouse_event(MOUSEEVENTF_MOVE,100,100,0,0);
  end;
  procedure TForm1.btnLClickClick(Sender: TObject);
  begin
   SetCursorPos(10,10);
   mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
   mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
  end;
  procedure TForm1.btnLDClickClick(Sender: TObject);
  begin
   SetCursorPos(200,200);
   mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
   mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
   mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
   mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
  end;
  procedure TForm1.btnRClickClick(Sender: TObject);
  begin
   SetCursorPos(200,200);
   mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
   mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
  end;
end.

保存文件,然後按F9鍵運行程序,程序運行的初始畫面如圖2所示。

圖2 程序運行的初始畫面

通過單擊窗體上的“移動鼠標”、“左鍵單擊”、“左鍵雙擊”和“右鍵單擊”按鈕可以分別完成模擬移動鼠標到指定位置、左鍵單擊、左鍵雙擊和右鍵單擊等操作。

本程序介紹了如何在程序中模擬鼠標的常用操作,這一點在遠程監控軟件中非常重要,通過mouse_event函數就可以實現遠程的鼠標管理和操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved