前言:
项目名称:绿色鼠标连点器。
系统平台:Windows。
使用api: Win32api。
使用语言:C。
编译器/IDE:gcc,Dev cpp,Visual Studio。
项目前言:
本项目也是自己开发(编写),不过这个项目是我之前(2021年)读完《C Primer Plus》之后写的第一个“项目”,而且发表过我之前的个人使用服务器和开源框架的博客。
本来打算用于MC(Minecraft)挂机连锁开采…,之后想以为基础做的更多功能,虽然有思路,也写了一点,但遇到了一个困难:“按键/快捷键”绑定问题,我不想一条条if else if ……或者switch表因为键盘上键太多,而且key值也占空间,所以去学算法。
但因为现实生活遇到一些事,所以又鸽了但因为这便学了单片机(Arduino,STC89系[51.52.516]),写了几个项目,但只开源了两个成品,之前应该有人看过上个小车应该是半成品的,蓝牙+超声波+AD芯片传感的,但是我给改成一个成品(也就是现在那个文章),还有如果大家需要我也可以找时间重新发布(只是可能,其实改源文件和头文件,在改一下主函数调用就可以了,有思路和现成超声波程序就很简单)。
还有至于Arduino电子锁那项目我是目前打算不再写了,因为空间不够,也不打算优化了,等回来有可能写在STC89系列、32单片机。
经上所以代码质量啧,反正我现在在看去是“惨不忍睹”,但是为了“水”,呃,其实是为了流量,所以开源吧。
代码未完成(只是鼠标模拟器,绑定快捷键,存档),以后放弃该项目,但是回来可能会发布GUI+多线程的鼠标连点器。
细节请见->“项目前言”。
GitHub打算不上传了,毕竟一个放弃的半成品项目。
代码都有注释可放心看
程序和文件图片:
启动界面:
注:
1)以下界面也可以可以删除、更改。
2)鼠标模拟器代码未完成,只可以选择1鼠标连点器
进入界面:
键选择:
功能界面:
选择进入界面(只拿一个说明):
所有设置都可以在这个界面看。
使用界面:
注意可以挂后台、可以按Esc 键紧急退出、可以锁定鼠标位置!
文件和VS截图:
代码:
GitHub打算不上传了,毕竟一个放弃的半成品项目,而且代码太长了还是是多文件,所以请下载吧:
百度网盘:点我亦可以
链接:https://pan.baidu.com/s/16rC-U0MTWcjHZrYxzS0Oig?pwd=AS12
提取码:AS12
使用说明在这个下
不过可以先看我之前以C标库文件和Win32 “封装”写的基础函数文件:
/***** 由@星空长夜i 编写以下自定义内容*******Simple package(简单封装)**Custom package(自定义包)********************************/
//请在使用前在源文件添加头文件依赖:
/* 头文件 来源 说明 需要程度
* windows.h (win32) 微软提供的api等 必须
* time.h (C) 标C提供的类型和时间函数等 可选
* stdio.h (C) 标C提供的类型和标输入输出函数等 可选(弃用)
*
* 函数调用: (方便复制)
*
* 可直接调用:
*
* air_COLOR(7);
*
*--->文字颜色函数color
*--->参数讲解: 7:白色
*--->更多请使用适配应用!
*
* cursor_XY(0,0);
*
*--->设置光标位置X,Y
*--->参数讲解:
*--->屏幕的可以看到的左上角为x=0,y=0||如果用于窗口那么窗口左上角为x=0,y=0 注: 横(—)是X,竖(|)是Y
*
* COLOR_XY(7,0,0);
*
*--->文字颜色+设置光标位置
*--->参数讲解:
*--->这个就不用讲了吧,air_COLOR(7)+cursor_XY(0,0)
*
*
* 可选内容(需要去开启):
* printf("%d",current_time());
* 获取时间
*
* 可选(弃用):
* set_Color(7);
*--->参数讲解: 文本颜色+背景色
*
* explain_COLOR(void);
* 打印颜色表;
*/
#ifndef Many_Simplepackage //防止重复包含
#define Many_Simplepackage
//定义常量
#define TIME 0 //可选内容,非0启用 需要time.h
#define OptionaL 0 //可选(弃用)内容,非0启用
//声明函数(提供函数原型。)
void air_COLOR(int co); //文字颜色函数
void cursor_XY(int x, int y); //设置光标位置-行-Row==x,|列-column==y
void COLOR_XY(int c, int x, int y); //文字颜色+设置光标位置
//文字颜色函数
void air_COLOR(int co)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), co);
/*
* STD_INPUT_HANDLE
* 标准输入的句柄
* STD_OUTPUT_HANDLE
* 标准输出的句柄
* STD_ERROR_HANDLE
* 标准错误的句柄
*/
}
//设置光标位置
void cursor_XY(int xs, int ys)
{
COORD c;
c.X = xs;
c.Y = ys;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
//文字颜色函数+设置光标位置
void COLOR_XY(int c, int x, int y)
{
//还有一种, 函数原型:BOOL SetCursorPOS(int X,int Y);
COORD z;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);
z.X = x;
z.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), z);
}
#endif
#ifndef Many_TIME
#if TIME
#define Many_TIME
//定义常量
#define Ctime_MAX 20 //时间数组
//定义结构
struct tm* info;
//定义变量
unsigned char timess = 0, second = 10;
char C_time[Ctime_MAX]; //时间
time_t rawtime;
/************************定义函数********************/
char* current_time(void); //获取时间
char* current_time(void)
{
time(&rawtime);
info = localtime(&rawtime);
strftime(C_time, Ctime_MAX, "%Y-%m-%d %H:%M", info);
return C_time;
}
#endif
#endif
/*可选(弃用)函数——根据个人需要启用*/
#ifndef Many_Simplepackages //防止重复包含
#if OptionaL
#define Many_Simplepackages
/*根据个人需要启用在17行修改 #define OptionaL 0 //可选(弃用)内容,非0启用
*并且要包含头文件依赖:stdio.h 与windows.h */
void set_Color(unsigned short textColor, unsigned short backColor);
void explain_COLOR(void);
enum Color //枚举
{
black, blue, green, lakeBlue, red, purple, yellow, white, gray,
lightBlue, lightGreen, lightSimpleGreen, lightRed, lightPurple, lightYellow, brightWhite
};
void set_Color(unsigned short textColor, unsigned short backColor) {
char command[9] = "color 07"; //默认颜色
command[6] = '0' + backColor; //将backColor变量改为字符型
command[7] = '0' + textColor; //将textColor变量改为字符型
system(command); //调用系统函数
}
void explain_COLOR(void)
{
//非常笨的办法-当初学的时候写的 现在懒得改了,想改可以改改。
printf("_______________________________\n");
printf("|颜色 对应值||颜色 对应值|\n"
"|黑色 0 ||灰色 8 |\n"
"|蓝色 1 ||淡蓝色 9 |\n"
"|绿色 2 || 淡绿色 10 |\n"
"|浅绿色 3 |淡浅绿色 11 |\n"
"|红色 4 ||淡红色 12 |\n"
"|紫色 5 ||淡紫色 13 |\n"
"|黄色 6 ||淡黄色 14 |\n"
"|白色 7 ||亮白色 15 |\n");
printf("------------------------------\n");
}
#endif
#endif
使用说明:
注文件内有我之前写的:
连点器-帮助文件.doc和一模一样的连点器-帮助文件.txt
–>空格键(Space)快捷模式(游戏) 适用于游戏, 是双/单击; 参数: 每秒执行的次数Max 频率50ms, 按下和松中间1 ms -->M键快捷模式(我的世界)
专门开发用于我的世界挖矿,是长按不抬起; 参数: 每秒执行的次数Max 频率50ms, 按下和松中间Max ms–>回车键(Enter)自定义模式 顾名思义自定义参数 -->(,<)键快捷模式(极限) 在极限的状态下 参数: 每秒执行的次数Max 频率0ms, 按下和松中间0 ms
–>(.>)键快捷模式(快速)参数: 每秒执行的次数Max 频率10ms, 按下和松中间1ms 功能简单介绍:
支持:
模拟单击-按下+抬起 条件: 鼠标按下,松开值之间的时间不能太大, 其他的值没有影响。 讲解:如果鼠标按下,松开值之间的时间太大会导致按下后很久时间才松开(抬起) 影响: 每秒执行的次数和频率
每秒执行的次数影响着每秒执行的次数(废话) 频率影响着在几次下运行的速度,如果值太小将会变成双击
如果不知道什么些参数什么意思请->点我<-就可以转跳。模拟双击-按下+抬起*2: 条件: 仅限 与单击一样。 讲解:与单击一样。 影响: 每秒执行的次数和频率 每秒执行的次数影响着每秒执行的次数(废话) 频率影响着在几次下运行的速度,如果值太大将会变成单击
如果不知道什么些参数什么意思请->点我<-就可以转跳。模拟不抬起-只按下 条件: 仅限鼠标按松之间,时间为MAX值 讲解:因为如果鼠标按松之间,时间为MAX值时根据程序条件将会除了暂停和退出之外鼠标不抬起 影响: 每秒执行的次数和频率
每秒执行的次数影响着每秒执行的次数(废话) 频率影响着在几次下运行的速度,如果值太大将会变成单击
如果不知道什么些参数什么意思请->点我<-就可以转跳。自定义是所有值都自定义,所以可以实现没写到的
详细参数值讲解文章来源:https://www.toymoban.com/news/detail-475382.html
参数 范围 讲解/单位 每秒执行的次数 0- MAX 每秒执行的次数 单位:1秒1下
频率 0-MAX 在几次下运行的速度,值为0会直接继续(取决于编译和你电脑了)注意为0容易卡死 单位:ms 毫秒
鼠标按松之间,时间 0-MAX 鼠标按下松开的速度,值为0会直接继续(取决于编译和你电脑了)注意为0容易卡死 单位:ms 毫秒
> 注意:所有MAX值为2147483647 除非有前提说明。文章来源地址https://www.toymoban.com/news/detail-475382.html
到了这里,关于C语言和win32绿色鼠标连点器,带代码(Windows)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!