本文最早于2009年6月1日在编程论坛(programbbs.com)上发表,页面地址:http://programbbs.com/bbs/view12-20849-1.htm 。

  众所周知,当鼠标指针移动到一些对象上时,指针的图片就会发生变化,以显示对象的相关属性。我设计了这么一个程序:它可以从屏幕上的某一点开始以方形螺旋线的方式从中心向四周移动,当指针图片变为指定的图片时就自动单击鼠标左键。本程序还兼有截取鼠标指针图片的功能。程序的外观如下:

图1

图2

  鼠标指针将按图2所示的样子从中心向四周移动。图中的黑点表示指针停留的点,由于指针图片的变化需要时间,所以指针要停留一段的时间后才可以进行截图。如图1所示:程序中“开始位置”是指图2中的中心点,可以是屏幕上的任意一点。“移动步长”是指图2中黑点与黑点之间的距离,必需大于等于1。屏幕上的对象一般都不会很小,只要指针与对象有重叠,指针的图片就会发生变化。所以可以适当的调节“移动步长”来提高搜索速度。“搜索半径”是指从中心到边缘的距离,可以适当的调整避免搜索整个屏幕。“停留时间”就是前面说到的指针在黑点上的停留时间。“操作按键”是指开始或停止搜索的按键,这是一个虚键码值,可以用VK开头的常量也可以用$开头的十六进制的数值。按下放开指定的键开始操作,再按下放开相同的键停止操作。“背景颜色”时指当前导入的指针图片的背景颜色,可以不使用。

  项目文件中的MKHook.dll文件是一个按键钩子程序,用以监视用户指定的操作按键。该文件原名Project1.dll,关于该文件的更多信息请参考文章:《一个简单的按键钩子程序》。本程序使用BitmapData.pas文件中的对象来截取鼠标指针图片和比对图片,更多信息请参考文章:《Delphi下实现全屏快速找图找色》。本程序使用SIMouseKeyboard.pas文件中的函数来模拟鼠标操作,更多信息请参考文章:《Delphi下利用SendInput模拟鼠标键盘》和《Delphi下利用WinIo模拟鼠标键盘详解》。

  项目文件下载(点这里

【转载】Delphi下实现鼠标自动点击器的更多相关文章

  1. 本元鼠标自动点击器 v1.31 官方绿色版

    软件名称: 本元鼠标自动点击器软件语言: 简体中文授权方式: 免费软件运行环境: Win 32位/64位软件大小: 516KB图片预览: 软件简介:本元鼠标自动点击器是一款免费绿色版的鼠标自动点击器, ...

  2. Delphi下TLabel鼠标MouseEnter、MouseLeave更改颜色失灵

    在Delphi 7下,如果想在鼠标MouseEnter.MouseLeave的时候改变TLabel自身的颜色,很多人可能会采用 Label.Color := clRed;这样的方式来实现,我当初也是一 ...

  3. Delphi下利用WinIo模拟鼠标键盘详解 有参考价值

    https://blog.csdn.net/fgrass_163/article/details/6365296 Delphi下利用WinIo模拟鼠标键盘详解 2011年04月26日 21:03:00 ...

  4. 截图技巧——鼠标按着不懂,同时点击截图快捷键(QQ为ctrl+alt+a)即可避免按下快捷键鼠标按下等操作消失截不到的尴尬。

    截图技巧--鼠标按着不懂,同时点击截图快捷键(QQ为ctrl+alt+a)即可避免按下快捷键鼠标按下等操作消失截不到的尴尬.

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

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

  6. DELPHI下的SOCK编程(转)

    DELPHI下的SOCK编程      本文是写给公司新来的程序员的,算是一点培训的教材.本文不会涉及太多的编程细节,只是简单讲解在DELPHI下进行Winsock编程最好了解的知识. 题外话:我认为 ...

  7. DELPHI下API简述(1800个API)

    DELPHI下API简述 http://zero.cnbct.org/show.asp?id=144 auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属 ...

  8. Delphi下的RTTI函数大全

    http://ljz9425.blog.163.com/blog/static/369148572008111635253858/ Delphi下的RTTI(下) 2008-12-16 15:52:5 ...

  9. DELPHI下的SOCK编程

     DELPHI下的SOCK编程(转自http://www.cnblogs.com/devcjq/articles/2325600.html) 本文是写给公司新来的程序员的,算是一点培训的教材.本文不会 ...

随机推荐

  1. oracle转义符

    要使用_,则需要做如下转义 select column_name from user_tab_columns where table_name = 'SYS_TERMINAL_MAPPING' AND ...

  2. tomcat配置manager

    tomcat-users.xml配置 <role rolename="manager-gui"/><user username="tomcat" ...

  3. 《Windows核心编程》第十一章——线程池

    隐式使用工作项 #include <iostream> #include <windows.h> ; VOID NTAPI SimpleCallback(PTP_CALLBAC ...

  4. 在windows上搭建C语言开发环境——借助eclipse和MinGW

    0. 前言     [本文目的]     近期在电脑上又一次安装了MinGW,发现MinGW的安装方法和之前的方法稍有差别,全部再写了一篇博文记录一下具体的安装方法.     [本文主要内容]     ...

  5. 可操纵网页URL地址的js插件-url.js

    url.js是一款能够很有用方便的操纵网页URL地址的js插件.通过url.js你能够设置和获取当前URL的參数,也能够对当前URL的參数进行更新.删除操作.还能够将当前URL的參数显示为json字符 ...

  6. 数学图形(1.2)Sin曲线

    相关软件参见:数学图形可视化工具,使用自己定义语法的脚本代码生成数学图形.该软件免费开源.QQ交流群: 367752815 Sin曲线 vertices = x = *PI) to (*PI) y = ...

  7. jquery json实现二级动态联动

    以下为代码!需要导入json架包 function getCity1(){ var unitid = document.getElementById('addformunitid').value; $ ...

  8. Pytorch torch.optim优化器个性化使用

    一.简化前馈网络LeNet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 im ...

  9. XML中PCDATA与CDATA的区别

    XML中PCDATA与CDATA的区别 2011-02-10 19:27:25|  分类: XML |  标签:xml中pcdata与cdata的区别     字号:大中小 订阅 所有 XML 文档中 ...

  10. Android wifi无线调试App新玩法ADB WIFI

    Wifi 调试App已经不是什么新鲜的事情了,之前也看过不少,不是使用麻烦就是需要root权限,今个我给大家介绍一款好用的android studio 插件--ADB WIFI. 安装 setting ...