• Delphi 鼠标控制函数GetCursorPos、SetCursorPos


    GetCursorPos函数  获取鼠标的位置

    var
       P: TPoint;
    begin
       GetCursorPos(P); //获取鼠标位置
    end;

     

    SetCursorPos函数 设置鼠标的位置

    var
      x,y:integer; //
    begin
      x:=614; y:=282; //
      SetCursorPos(x,y); //
      Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); //开始点击
      Mouse_Event(MOUSEEVENTF_LEFTUP,0,0,0,0); //弹出
    end;
    

    mouse_event,用于模拟鼠标动作。无返回值。参数1类型:整数型(Integer),鼠标动作标识;参数2类型:整数型(Integer),鼠标动作的水平坐标X;参数3类型:整数型(Integer),鼠标动作的垂直坐标Y;参数4类型:整数型(Integer),鼠标滚轮转动方向,若当前鼠标无滚轮动作,则取值为0;参数5在Windows SDK中的函数原型:
    VOID mouse_event(

        DWORD dwFlags, // flags specifying various motion/click variants 鼠标动作标识
        DWORD dx, // horizontal mouse position or position change 鼠标动作的水平坐标
        DWORD dy, // vertical mouse position or position change 鼠标动作垂直坐标
        DWORD dwData, // amount of wheel movement 当鼠标动作标识为MOUSEEVENTF_WHEEL时,此参数为鼠标滚轮转动方向,正值表示滚轮向前旋转,远离用户;负值表示滚轮向后旋转,向用户。
        DWORD dwExtraInfo  // 32 bits of application-defined information 设定一个32位值用于取扩展信息
       );

    鼠标动作标识:

      MOUSEEVENTF_MOVE            = $0001; { mouse move 鼠标移动}
      MOUSEEVENTF_LEFTDOWN        = $0002; { left button down 左键按下}
      MOUSEEVENTF_LEFTUP          = $0004; { left button up 左键弹起}
      MOUSEEVENTF_RIGHTDOWN       = $0008; { right button down 右键按下}
      MOUSEEVENTF_RIGHTUP         = $0010; { right button up 右键弹起}
      MOUSEEVENTF_MIDDLEDOWN      = $0020; { middle button down 中间按下}
      MOUSEEVENTF_MIDDLEUP        = $0040; { middle button up 中键弹起}
      MOUSEEVENTF_WHEEL           = $0800; { wheel button rolled 滚轮移动}
      MOUSEEVENTF_ABSOLUTE        = $8000; { absolute move 绝对移动}

     

    其他操作:

    var
      SDC: HDC;
      SColor: COLORREF;
    begin
      //鼠标移动到坐标X:20 Y:30初
      Mouse.CursorPos := Point(20, 30);
    
      //获取屏幕坐标X:20 Y:30初的颜色
      SDC := GetDC(0);
      SColor := GetPixel(SDC, 20, 30);
      ReleaseDC(0, SDC);
    
      //把取到的颜色画在屏幕上
      Canvas.Brush.Color := SColor;
      Canvas.FillRect(Rect(0, 0, 50, 50));
    

      

  • 相关阅读:
    清除微信浏览器缓存
    JS实现HTML标签转义及反转义
    mvc中服务器端、客户端属性验证
    Ajax.ActionLink参数详解
    Ajax.BeginForm参数详解
    AjaxHelper简介
    将博客搬至CSDN
    Sequelize小记
    端口: 查看端口状态
    搭建git服务器
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11386720.html
Copyright © 2020-2023  润新知