Windows下控制鼠标移动和点击的C语言实现
用VC控制台程序来实现。其实这个程序实现的关键就是调用windows api中的user32.dll中的两个函数就搞定了,废话不多说,直接上代码。以下是代码中的两个关键函数封装,完整可运行代码请到http://download.csdn.net/detail/zjuman2007/9922444下载。
//this macro already defined
//const int MOUSEEVENTF_MOVE = 0x0001; //移动鼠标
//const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模拟鼠标左键按下
//const int MOUSEEVENTF_LEFTUP = 0x0004; //模拟鼠标左键抬起
//const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下
//const int MOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起
//const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;//模拟鼠标中键按下
//const int MOUSEEVENTF_MIDDLEUP = 0x0040; //模拟鼠标中键抬起
//const int MOUSEEVENTF_ABSOLUTE = 0x8000; //标示是否采用绝对坐标/** mouse move* x -- int, x-coordinate* y -- int, y-coordinate*/
int move(int x, int y){HINSTANCE hDll; typedef bool (*Fun1)(int,int);hDll = LoadLibrary("user32.dll");if(NULL == hDll) { fprintf(stderr, "load dll 'user32.dll' fail."); return -1; }Fun1 SetCursorPos = (Fun1)GetProcAddress(hDll, "SetCursorPos"); if(NULL == SetCursorPos) { fprintf(stderr, "call function 'SetCursorPos' fail."); FreeLibrary(hDll); return -1; }SetCursorPos(x,y);FreeLibrary(hDll); return 0;
}/** mouse click* type -- int, 0:left click;1:right click * double_click -- bool, true:double click; false: single click*/
int click(int type,bool double_click){int left_click = MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;int right_click = MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP;int clicktype;HINSTANCE hDll; typedef void (*Fun2)(DWORD dwFlags, // motion and click optionsDWORD dx, // horizontal position or changeDWORD dy, // vertical position or changeDWORD dwData, // wheel movementULONG_PTR dwExtraInfo // application-defined information);hDll = LoadLibrary("user32.dll");if(NULL == hDll) { fprintf(stderr, "load dll 'user32.dll' fail."); return -1; }Fun2 mouse_event = (Fun2)GetProcAddress(hDll, "mouse_event"); if(NULL == mouse_event) { fprintf(stderr, "call function 'mouse_event' fail."); FreeLibrary(hDll); return -1; }if(type==0)clicktype = left_click;elseclicktype = right_click;mouse_event (clicktype, 0, 0, 0, 0 );FreeLibrary(hDll);if(double_click)click(type,false);return 0;
}
————————————————
原文链接:https://blog.csdn.net/zjuman2007/article/details/76736517
Windows下控制鼠标移动和点击的C语言实现相关推荐
- python实现按键精灵的功能_利用Python实现Windows下的鼠标键盘模拟的实例代码
本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家 本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗. 依赖: pip install ...
- windows下模拟鼠标点击和键盘输入
代码比较粗糙,凑合着看吧. 用这个东西需要先装:pywin32–windows下python调用winapi的接口 以下是一些资源和下载链接: pywin32下载地址:http://sourcefor ...
- Windows下多鼠标/双鼠标技术专题
Technorati 标签: Windows,MultiPoint,多鼠标,多指针输入,SDG,Mouse,RawInput 首先要说的是,此文的主要内容都来自本人 在 湖南大学 郑善贤 老师指导下写 ...
- 【Nodejs】使用robotjs控制鼠标键盘 自动点击屏幕上指定位置的图标 实现连接wifi等操作
每天上班开机挺麻烦,要手动连wifi:因此可以写一个很简单的自动执行脚本,执行 node xxxxxx.js 安装 robotjs npm i robotjs -g xxxxxx.js 以下数字自行根 ...
- android下控制鼠标的显示和隐藏
通过hid usb接收鼠标信息,有光标显示,还没有找到好的办法控制鼠标的显示和隐藏,有下面的 帖子供参考: https://blog.csdn.net/lininglive/article/detai ...
- Windows下C/C++模拟鼠标点击,PC端没有鼠标设备也能够获取鼠标坐标、移动鼠标坐标、模拟鼠标点击事件,方法一 亲测有效
------- [ 转载请保留 ] ------- 作者:西_瓜_瓜 博客:https://blog.csdn.net/xi_gua_gua/article/details/105773298 --- ...
- C++ windows下判断鼠标点击及获取像素点
```cpp #include<iostream> #include <stdio.h> #include<windows.h>#define KEY_DOWN(V ...
- python实现模拟按键下拉_利用 Python 实现 Windows 下的鼠标键盘模拟
本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗. 依赖: pip install PyUserInput PyUserInput 依赖 pyhook,所以还得安装 p ...
- python控制鼠标移动并点击_python模拟鼠标点击和键盘输入的操作
所有代码都是网上百度出来的,通过个人实践找到适合自己的. 采用的python 库是pymouse.pykeyboard 安装时直接pip安装的,pip install PyUserInput 安装不成 ...
最新文章
- [导入]控制IFrame里的页面滚动原来如此简单:)
- php操作外部文件,php文件操作-将其他文件的数据添加到本文件中
- 消除左递归c++代码_「leetcode」129. 求根到叶子节点数字之和【递归中隐藏着回溯】详解...
- linux df命令功能,Linux df命令简要介绍
- 查看 Proxy 的 $ProxyX.class文件
- linux rc文件是什么,linux通常使用的 rc 和 .(点)文件
- 添加简单的linux内核模块,操作系统实践 第12章-添加最简单的Linux内核模块.ppt
- 项目中的软件需求说明书的访谈部分
- android电视手机遥控器,tcl电视遥控器
- 常用编程语言介绍及各语言特点
- EGE绘图之四 Gif动图播放
- 人脸识别撞脸名画_人脸识别_“名画匹配”刷爆屏 想知道你和哪副名画撞脸了吗...
- 【Java】用PriorityQueue优先队列实现最小堆和最大堆
- 计算机社团展示ppt,学生社团管理系统.ppt
- FPGA HLS Matrix_MUL 矩阵乘法的计算与优化
- 无法启动此程序因为计算机中丢失adbwinapi,无法找到AdbWinApi.dll问题解决 .
- 广播风暴对比实验部署
- 朋友圈仅三天可见?怎么破?
- 实现Excel文件的统一读取功能(包含xls、xlsx、csv格式)
- 云服务迎来最好时代2020 yuannian:阿里云400亿,腾讯云170亿
热门文章
- 【Linux】vi和vim编辑器——常用命令大全
- gdb调试指令next与step的区别
- ORAN专题系列-16:5G O-RAN FrontHaul前传接口的网络配置管理协议netconf
- 【语音去噪】基于matlab低通滤波器语音去噪【含Matlab源码 1900期】
- GHOST -ntexact 正常还原
- 任何一个正整数都可以用2的幂次方表示:137=2^7+2^3+2^0
- 贪吃蛇c语言自动寻路,C/C++编程笔记:C语言贪吃蛇源代码控制台(一),会动的那种哦!...
- 基于视频点播上传、多分辨率转码-搭建自己的短视频|教学视频播放系统
- AIX操作系统维护详解
- wordpress插件_10个最佳WordPress论坛插件(比较)