- 浏览: 354795 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
C++ 鼠标模拟程序
- 博客分类:
- C++
转自
http://blog.csdn.net/weixinhum/article/details/46351881
关于鼠标模拟程序应用不算少见,在游戏外挂或者一些操作频繁位置确定的程序上应用往往有奇效。
比较旧的API是mouse_event,本人一开始也用这个在搞,不过后来才看到新的API在操作上更加统一,稍作改动便也能模拟键盘输入(两者往往要一起应用),所以就用新的API来做。对了,新的API名为SendInput。
下面就不说废话了,直接上代码,本代码是运行在MFC工程上的,如要需要在控制台或者其他工程上运行要包含必须的头文件。此外,本程序只能模拟一般的鼠标操作,对于一些防外挂的程序进行点击需要驱动级的模拟。
模拟鼠标各动作函数
各动作函数配合完成鼠标各种操作
http://blog.csdn.net/weixinhum/article/details/46351881
关于鼠标模拟程序应用不算少见,在游戏外挂或者一些操作频繁位置确定的程序上应用往往有奇效。
比较旧的API是mouse_event,本人一开始也用这个在搞,不过后来才看到新的API在操作上更加统一,稍作改动便也能模拟键盘输入(两者往往要一起应用),所以就用新的API来做。对了,新的API名为SendInput。
下面就不说废话了,直接上代码,本代码是运行在MFC工程上的,如要需要在控制台或者其他工程上运行要包含必须的头文件。此外,本程序只能模拟一般的鼠标操作,对于一些防外挂的程序进行点击需要驱动级的模拟。
模拟鼠标各动作函数
void MouseMove(int x, int y)//鼠标移动到指定位置 { double fScreenWidth = ::GetSystemMetrics(SM_CXSCREEN) - 1;//获取屏幕分辨率宽度 double fScreenHeight = ::GetSystemMetrics(SM_CYSCREEN) - 1;//获取屏幕分辨率高度 double fx = x*(65535.0f / fScreenWidth); double fy = y*(65535.0f / fScreenHeight); INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; Input.mi.dx = fx; Input.mi.dy = fy; SendInput(1, &Input, sizeof(INPUT)); } void MouseLeftDown()//鼠标左键按下 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; SendInput(1, &Input, sizeof(INPUT)); } void MouseLeftUp()//鼠标左键放开 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_LEFTUP; SendInput(1, &Input, sizeof(INPUT)); } void MouseRightDown()//鼠标右键按下 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; SendInput(1, &Input, sizeof(INPUT)); } void MouseRightUp()//鼠标右键放开 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_RIGHTUP; SendInput(1, &Input, sizeof(INPUT)); }
各动作函数配合完成鼠标各种操作
//模拟鼠标拖动框选 ShowWindow(SW_SHOWMINIMIZED);//窗体最小化 POINT mypoint; GetCursorPos(&mypoint);//获取鼠标当前所在位置 MouseMove(800, 1000);//鼠标移动到指定位置 MouseLeftDown();//鼠标左键点下 MouseMove(10, 10);//鼠标拖动到指定位置 Sleep(10);//这里需要等待一下,不然拖动会没有效果 MouseLeftUp();//鼠标释放 MouseMove(mypoint.x, mypoint.y);//将鼠标放回所在的位置
//模拟鼠标右键按下并释放 ShowWindow(SW_SHOWMINIMIZED);//窗体最小化 MouseRightDown(); Sleep(10); MouseRightUp();
//左键双击打开 MouseMove(100, 100);//鼠标移动到指定位置 MouseLeftDown();//鼠标左键点下 MouseLeftUp();//鼠标释放 MouseLeftDown();//鼠标左键点下 MouseLeftUp();//鼠标释放
发表评论
-
FreeRTOS
2022-03-05 16:31 209Ref https://blog.csdn.net/weix ... -
串口通讯相关
2018-11-02 13:44 365https://bbs.csdn.net/wap/topics ... -
[转]C++验证IP是否可以PING通
2018-10-30 17:54 1236https://www.cnblogs.com/guoyz13 ... -
C++/MFC 換皮膚
2018-10-20 11:05 427https://blog.csdn.net/u01123991 ... -
WinCE 截屏 - C++ 代碼
2018-08-31 09:45 525// this function create a bmp ... -
Android NDK搭建環境
2017-11-27 13:25 532https://www.cnblogs.com/ut2016- ... -
8583协议相关
2017-10-17 13:38 5188583相关资料,整理中... -
Java高级应用之JNI
2017-06-19 09:00 547参考link http://www.cnblogs.com/l ... -
C++实现ping功能
2017-04-18 11:21 2034基础知识 ping的过程是向目的IP发送一个type=8的I ... -
OpenSSL 编译环境搭建
2017-03-27 15:01 8601 安裝VS2008到 c:\Program Files (x ... -
最优非对称加密填充(OAEP)
2017-03-25 14:53 1518OpenSSL命令---rsautl http://blog. ... -
[Platform Builder] 设置SVM OS build Env
2016-11-10 11:39 01 copy one OSDesign Project to ... -
[Windows] System Error Codes(GetLastError )0-----5999
2016-10-26 13:28 1835ERROR_SUCCESS 0 (0x0) T ... -
开源Windows驱动程序框架
2016-09-17 21:35 816转自 http://code.csdn.net/news/28 ... -
c/c++代码中执行cmd命令
2016-09-14 14:50 1817转自 http://blog.csdn.net/slixinx ... -
C#使用C++标准DLL实例(包含callback)
2016-09-11 19:44 1002C++编写标准Win32DLL如下 头文件 /***** ... -
C#调用C++的DLL搜集整理的所有数据类型转换方式
2016-09-09 16:07 928转自 http://www.cnblogs.com/zeroo ... -
WinCE CPU使用率计算 测试工具
2016-09-08 16:14 938转自 http://blog.csdn.net/jan ... -
switch在C++与C#中的一些差异
2016-09-08 15:19 761参考链接 http://blog.csdn.net/weiwe ... -
C/C++内存分配方式与存储区
2016-08-28 16:26 1008转自 http://blog.csdn.net/zheng05 ...
相关推荐
C++鼠标模拟程序
模拟鼠标点击工具,该工具可以模拟鼠标的点击还有键盘的按下动作。可以完成重复点击的工作。
c++代码实现系统层发送鼠标移动和单击消息,可实现模拟人工点按某个按钮的功能。基于此代码可进行功能扩充,例如录制多个按钮位置实现组合操作的自动化执行。
用C++语言编写~~~ 调用系统的函数来模拟鼠标点击事件
使用C#2008写的鼠标点击模拟程序,包含源代码和程序;使用程序的人必须下载微软的dotnet framework 3.5; 学习的人使用C# 2008
本程序能实现键盘的上下左右建 来移动鼠标。 f6控制鼠标左键, f9 结束程序。
一个模拟时钟程序。在屏幕中央有一正在运行的指针式钟表,单击鼠标左键可弹出一对话框,用于调整当前时间。
基于C++的B样条曲线绘制程序 本程序基于C++开发,其开发环境为: ·Windows 11操作系统 ·Qt 5.15.2 MSV2019 64bit Release构建套件 本程序具体可实现功能如下: 1) 输入控制点,显示控制点和控制线,如图1中白色点...
本资源包含 虚拟鼠标驱动程序源代码 及 最新驱动程序开发包WDK(WDK是WIN10平台下的SDK,如在其他平台,请下载相应的开发包)。安装SDK成功后,可在Visual Studio 2017下成功编译(Visual Studio 2012,Visual Studio ...
这里提供一个kinectV2控制鼠标的C++版本程序,同时包含Chengaotan版本的C#程序供参考,Kinect 自身可实现三种手势的识别,拳头,剪刀,和布,从而可控制鼠标做不同的事情;本人已将其运用到体感游戏打飞机上,效果...
036.MFC_模拟鼠标键盘消息.mp4 037..创建进程.mp4 038.打开进程_终止进程.mp4 039..TH_管道.mp4 040..TH_双管道.mp4 041.MFC_只运行一个实例.mp4 042.内存映射文件.mp4 043.内存映射_共享数据.mp4 044.枚举...
6.用C++ Builder 3制作屏幕保护程序 7.TCP/IP头格式 8.UDP 9.判断windows的Desktop及其它目录 10用C++Builder创建数字签名 11用Enter 键控制焦点切换的方法 12.拦 截 Windows 消 息 13.使用CommaText 14....
3)程序登录界面上的数字键需要用鼠标单击,为了方便退出,我没有自动获取焦点,请输入时手动获取编辑框焦点 4)运行前,请打开你的放音设备,否则语音不能工作 其他: 1)已经编译好的程序为ATM.exe 在ATM文件夹...
输入结点和输出结点的这样判断,一眼看上去似乎反了,但实际上有利于整个程序的编写。可以简单地这样分类:总共只有两种端,一种输入,一种输出。 这样,我们就可以将判断触点分为三个函数: IsInInput1()...
一个简单的C++实现的鼠标操作录制并执行的小程序,支持定义循环次数,循环间隔,具体使用说明可以参考我的博文: https://blog.csdn.net/qq_42799236/article/details/107030999;
要编写一个支持游戏操纵杆的应用程序,首先必须要捕获游戏操纵杆,接着要处理Windows发送给程序窗口的操纵杆消息,最后使用完操纵杆后,还应将捕获的操纵杆资源释放。 调用API函数joySetCapture能捕获游戏操纵杆...
2.10 控件数组典型实例 cc实例076 向窗体中动态添加控件 cc 实例077 公交线路模拟 第3章 图形技术 3.1 绘制图形 cc实例078 绘制正弦曲线 cc实例079 绘制艺术图案 cc实例080 画图程序 cc实例081 ...
程序运行初始处于车削模式下使用鼠标交互控制进行切削,当按下鼠标之后,刀具会出现,拖动鼠标可模拟车床车削工作松开鼠标时不能进行车削 按下R,重置成原材料按下E,切换原料材质 在车削模式下按下W,进入贝塞尔...
cc 实例077 公交线路模拟 第3章 图形技术 3.1 绘制图形 cc实例078 绘制正弦曲线 cc实例079 绘制艺术图案 cc实例080 画图程序 cc实例081 绘制立体模型 cc实例082 利用IFS算法绘制...
cc 实例077 公交线路模拟 第3章 图形技术 3.1 绘制图形 cc实例078 绘制正弦曲线 cc实例079 绘制艺术图案 cc实例080 画图程序 cc实例081 绘制立体模型 cc实例082 利用IFS算法绘制...