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));

  

Delphi 鼠标控制函数GetCursorPos、SetCursorPos的更多相关文章

  1. Delphi - 通过WinAPI GetCursorPos实现鼠标位置的实时显示

    通过WinAPI GetCursorPos实现鼠标位置的实时显示 有时候我们需要将鼠标的位置实时抓取出来,可以通过如下方式实现. 添加一个Timer控件,执行间隔改为100ms,双击控件输入如下代码: ...

  2. delphi 鼠标拖动

    GetWindowRect(tgph, Rect); //获得窗体大小 setcursorpos(Rect.Left + 487, Rect.Top + 274); delay(100); mouse ...

  3. Delphi - 鼠标上下滚动基础消息事件

    Delphi实现对鼠标上下滚动基础消息的截获并处理 前几天有客户提出需求:由于个人PC界面限制,有时候电子图档显示不全,希望通过鼠标上下滚动用来控制电子图档的放大和缩小. 下面通过一个测试Demo来说 ...

  4. delphi鼠标状态

    Screen.Cursor := crNo;

  5. Delphi 鼠标的编程

  6. Delphi 获取当前鼠标下的控件内容

    Delphi 获取当前鼠标下的控件内容 主要函数: GetCursorPos://获取鼠标的位置 WindowFromPoint://获取制定point下的handle GetClassName:// ...

  7. python32模拟鼠标和键盘操作

    前言Windows pywin32允许你像vc一样的形式来使用python开发win32应用.代码风格可以类似win32 sdk,也可以类似MFC,由你选择.如果你仍不放弃vc一样的代码过程在pyth ...

  8. 转发 C# Win32 API程序控制鼠标的操作

    命名空间:using System.Runtime.InteropServices; 在程序中添加: [DllImport("User32")]public extern stat ...

  9. 借鉴 学习 DELPHI 通用函数 哈哈

    [转]关于Delphi通用涵数 http://m.blog.csdn.net/blog/dragonjiang5460/1196927 2006-9-8阅读2016 评论0 DELPHI程序注册码设计 ...

随机推荐

  1. python3 线程调用与GIL 锁机制

    转载

  2. testNG之组测试

    @Test(groups = {""}) 在执行测试用例的时候,往往一个功能依赖多个测试用例,比如流程的测试,那么这个时候就可以用到组测试,把流程涉及到测试用例都分到同一组里,按组 ...

  3. BlueStore-先进的用户态文件系统《二》-BlueFS

    https://zhuanlan.zhihu.com/p/46362124 简介 上一篇文章中,介绍了BlueStore的诞生背景.逻辑架构以及设计思想,提到了在BlueStore中元数据都是存放在R ...

  4. BN和正则化一起使用的后果

    就是因为 batch norm 过后, weight 影响没那么重了,所以 l2 weight decay 的效果就不明显了. 证明了L2正则化与归一化相结合时没有正则化效应.相反,正则化会影响权重的 ...

  5. symantec SMG 抓包

    1.使用putty连接SMG,先用admin账号登陆 执行set-support  , 设置一个密码. 2.重新打开一个putty连接SMG,使用support账号登陆.用我们刚才设置的密码. 3.开 ...

  6. stc单片机笔记

    volatile是一个类型修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值. 简单地说就是防止编译器对代码进行优 ...

  7. 87、使用TensorBoard进行可视化学习

    1.还是以手写识别为类,至于为什么一直用手写识别这个例子,原因很简单,因为书上只给出了这个类子呀,哈哈哈,好神奇 下面是可视化学习的标准函数 ''' Created on 2017年5月23日 @au ...

  8. 76、python学习第二篇

    生成随机数的测试数据 ''' Created on 2017年4月8日 @author: weizhen #to create data for testing ''' import random f ...

  9. JS制作二级联动

    JS制作二级联动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  10. idea 查看字节码 bytecode插件 (jclasslib Bytecode Viewer、ASM Bytecode Viewer )

    文章目录 jclasslib Bytecode Viewer ASM Bytecode Viewer jclasslib Bytecode Viewer 然后重启idea===>重新编译(构建项 ...