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. k8s--网络模式

    1.clusterip kind: Service apiVersion: v1 metadata: name: my-service spec: selector: app: nginx ports ...

  2. 深入理解java虚拟机:笔记

    1.运行时数据区域 1.程序计数器 当前线程执行字节码的行号指示器,字节码解释器工作通过改变这个计数器的值来选取下一条需要执行的字节码指令,每一个线程拥有独立的程序计数器,线程私有的内存 2.虚拟机栈 ...

  3. 深度解析双十一背后的阿里云 Redis 服务

    摘要: Redis是一个使用范围很广的NOSQL数据库,阿里云Redis同时在公有云和阿里集团内部进行服务,本文介绍了阿里云Redis双11的一些业务场景:微淘社区之亿级关系链存储.天猫直播之评论商品 ...

  4. BZOJ 1095: [ZJOI2007]Hide 捉迷藏(动态点分治)

    传送门 解题思路 点分树其实就是在点分治的基础上,把重心连起来.这样树高是\(log\)的,可以套用数据结构进行操作.这道题是求最远距离,所以每个点维护两个堆,分别表示所管辖的子树的最远距离和到父节点 ...

  5. mysql授权、删除用户和角色权限

    备份权限 GRANT USAGE ON *.* TO 'backup'@'172.16.0.157' IDENTIFIED BY PASSWORD '*38B4F16EADB1601E713D9F03 ...

  6. SQL必知必会——创建和操纵表(十七)

    1.创建表 一般有两种创建表的方法: 多数DBMS都具有交互式创建和管理数据库表的工具表也可以直接用SQL语句操纵1.1.表创建基础 CREATE TABLE products( prod_id,CH ...

  7. python实现人民币大写转换

    问题描述: 银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序. 在中文大写方式中,0到10以及100.1000.10000被依次表示为: 零 壹 贰 ...

  8. Win10+CentOS7双系统引导修复

    在有Win10的系统下安装了CentOS7后,CentOS7的引导并不会像CentOS6一样自动加载入Win10驱动.难道是grub2不能引导Win驱动?查了一下资料原来是CentOS不能识别Win1 ...

  9. win10 打开 sql sever配置管理器

    !找到解决办法啦!WIN10系统 此电脑->右击->管理弹出以上界面啊哈哈哈还有一些解决办法在这个贴吧里...http://tieba.baidu.com/p/3000709047

  10. LeetCode刷题笔记-递归-反转二叉树

    题目描述: 翻转一棵二叉树. 解题思路: 1.对于二叉树,立马递归 2.先处理 根节点,不需改动 3.处根的左子树和右子树需要交换位置 4.递归处理左子树和右子树.步骤见1-3步 Java代码实现: ...