鼠标自动移动/点击
小辉程序在讲解过程中以c为基础,某些地方会兼顾讲解delphi的用法。但由于小辉用delphi和vb搞开发是在98年以前的事,现在一些技术细节也疏忘了许多,因此,朋友们若问我关于delphi/vb方面的技术问题,小辉可能无法给你满意的回答,建议你去相关的主页查询。对于涉及界面开发的一些简单问题,恕小辉不能一一回答 鼠标的自动移动/点击功能的作弊软件重要的一个功能。有很多种方法能够实现鼠标的移动和点击。这里讲述两个api函数:
bool setcursorpos(
int x, // horizontal position
int y // vertical position
);
设置鼠标位置。鼠标指针在屏幕像素坐标系统中的x,y位置
这个函数是用来设置mouse位置的。可以用这个函数来移动mouse在屏幕上的移动。
另外一个函数功能比较强,即mouse_event()
void mouse_event(
dword dwflags,
dword dx,
dword dy,
dword dwdata,
dword dwextrainfo
);
设置mouse状态。参数说明如下:
dwflags long,下述标志的一个组合 :
mouseeventf_absolute dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
mouseeventf_move 移动鼠标
mouseeventf_leftdown 模拟鼠标左键按下
mouseeventf_leftup 模拟鼠标左键抬起
mouseeventf_rightdown 模拟鼠标右键按下
mouseeventf_rightup 模拟鼠标右键按下
mouseeventf_middledown 模拟鼠标中键按下
mouseeventf_middleup 模拟鼠标中键按下
dx 根据是否指定了mouseeventf_absolute标志,指定水平方向的绝对位置或相对运动
dy 根据是否指定了mouseeventf_absolute标志,指定垂直方向的绝对位置或相对运动
dwdata amount of wheel movement
dwextrainfo,通常未用的一个值。用getmessageextrainfo函数可取得这个值。可用的值取决于特定的驱动程序。
例如:将mouse移动到坐标(450,100) 可用函数:
setcursorpos(450,100) ; 或
mouse_event(mouseeventf_move ,0,450,100,getmessageextrainfo()); 来实现
实现鼠标单击:
mouse_event(mouseeventf_leftdown,0,0,0,getmessageextrainfo());
mouse_event(mouseeventf_leftup,0,0,0,getmessageextrainfo ());
那么,如何模拟mouse不断的移动和点击呢?这需要用定时器完成。
以c为例:
在初始化程序的时候,设置时钟:
...
case wm_create:
...
settimer(1, 1000, null);
break;
这样就设置了id号为1 的时钟事件, 它每秒(1000毫秒)将产生一个 wm_timer事件。
然后我们在wm_timer事件中将入相关的处理:
case wm_timer:
{
...
// mouse move code...
// mouse click code...
break;
}
在delphi中,时钟是通过一个timer控件实现的。
关于时钟事件的运用在此软件中是很基本的一个概念。几乎所有的工作都是在时钟事件中完成的。如需进一步的了解时钟的用法,请查阅相关资料。
如何实现自动滚屏?我就不细说了,有这么几种方法,我都试过,保证没有问题:
1. 找到ie的当前窗口后,向其发送 scrool消息。
2. 找到ie的scrool消息,结合前面的mouse点击方式,自动点击scroll条
3. 可以调用ie的com接口。使用 ihtmldocument接口,调用put_scrolltop即可完成。另外,其实这个作弊软件是可以全部调用ie的cm接口来完成的。主要文档可参阅 msdn. 那些以 ihtmlxxxxxx开头的都是ie的com接口。
下一篇:PHP程序加速探索之加速工具软件
↓相关文章:
- · PHP程序加速探索之加速工具软件
- · SQLServer2000数据访问基类
- · 图解MySQL数据库的安装和操作
- · 一些ASP初学者常用的代码
- · ASP经典问答收藏之一
- · 一段防注入的通用脚本
- · 简单的防盗链(代码)
- · PHP窜红:革命尚未成功 Java仍需努力
- · 使用PHP编写基于Web的文件管理系统
- · 理解PHP中的MVC编程之控制器
- · 理解PHP中的MVC编程之MVC框架简介
- · SQL Server Express 数据库自动部署问题及解决
- · 用PHP文件上传的具体思路及实现
- · 回顾与展望PHP 5.0的变化与PHP 6.0展望
- · 一个产生中文累计数的代码片断
- · 在SQL Server 2005中解决死锁
- · 30分钟正则表达式指导
- · 不算不知道 44% 数据库开发者使用MySQL
- · 立即释放.net下的com组件
- · XHTML的目标,规则和细节
- · SQL Server 2005 提供的分页查询支持
- · ASP.NET程序中常用的三十三种代码
- · Sql server存储过程和C#分页类简化你的代码
- · SQL Server 2005新功能-TSQL
- · 在SQL Server 2005中编辑SQL Server 2000 DTS
- · .NET 连接到 Oracle的oci.dll加载错误解决方案
- · 如何在调用线程的时候传递参数
- · 专家预言:PHP将比Java更好更受欢迎
- · 在IIS6.0下ASP .NET 的版本冲突问题
- · 解决SqlTransaction用尽的问题(SQL处理超时)
- · 以前编写Like谓词被忽略的使用方法
- · 在编写存储过程时使用 Set NoCount On
- · ASP.NET 2.0运行时简要分析
- · .Net中如何操作IIS(原理篇)
- · 用.net开发不同操作系统下应用的winform的size大小问题
- · SQL Server数据库文件恢复技术
- · SQL SERVER中一些常见性能问题的总结
- · .NET下对二进制文件进行加密解密(C#)
- · 利用.NET的File控件上传文件的最终解决方案(个人版)
- · 如何把图片、声音等存储到sql中
- · MS-SQL server数据库开发精典技巧
- · 全文索引—CONTAINS语法
- · 获得所有表信息的SQL语句
- · .NET扫描远程计算机注册表
- · 利用JS获取IE客户端IP及MAC的实现
- · 简单而又复杂的ASP.NET编程模型
- · C#2.0终于有了?:便捷判断的单分支版
- · SQL Server 2005 Data Mining简介
- · ASP.NET控件开发之
- · ASP.NET中用哪种方式表格化数据
- · .NET平台下几种SOCKET模型的简要性能供参考
- · 使用 XML 模板 (MSSQL手册)
- · 使用带批注的 XDR 架构创建 XML 视图
- · 在XPath查询中指定轴(转自MSSQL手册)
- · JavaScript极速狂飙:CSS样式表的背景渲染效率
- · javascript应用:实现复选框全选/全不选切换
- · JavaScript极速狂飙:大容量字符型数组的快速检索
- · JavaScript极速狂飙:组合拼接字符串的效率
- · 图片自动缩小的js代码,用以防止图片撑破页面
- · PHP漏洞中的战争

