有谁知道mouse_event函数的用法,最好是举个例子!谢谢

解决方案 »

  1.   

    help->windows SDK->搜索mouse_event
      

  2.   

    函数解释:
    VOID mouse_event(
        DWORD dwFlags, // 指定鼠标事件类型
        DWORD dx, // 鼠标横向绝对位置(如果dwFlags包含MOUSEEVENTF_ABSOLUTE)或增加量
        DWORD dy, // 鼠标横向纵对位置(如果dwFlags包含MOUSEEVENTF_ABSOLUTE)或增加量
        DWORD dwData, // 如果dwFlags指定滚动键,这里指定滚动次数;否则应为0
        DWORD dwExtraInfo  // 指定一个变量,供 GetMessageExtraInfo 使用,以便收集后续信息;一般不使用,设置为0
       );例子(点击Button2后,用程序实现Button1的点击):
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage('Button1Click');
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      P: TPoint;
    begin
      P := Point(Button1.Left+1, Button1.Top+1); //取得Button1上一点
      P := ClientToScreen(P); //转化为屏幕坐标
      SetCursorPos(P.X, P.Y); //将光标移动到Button1上,因此下面的mouse_event使用增加量而不是绝对坐标
      mouse_event(MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————