[C语言]自动阅读英语小说
最近学校要求上一个网站读英语小说:
https://home.slz.cnpereading.com/
于是我就想写个程序来读🤣其实这个程序并不复杂,主要就是靠调用windows api来控制鼠标移动和单击。[源码]https://pan.baidu.com/s/1PxzVNncmXGFtKCBwzk6HOA提取码:ad00
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <conio.h>
//模拟鼠标点击 (x,y)是要点击的位置
void click(int x, int y)
{
//将鼠标光标移动到 指定的位置 例子中屏幕分辨率1920x900 在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, x*65535/1920, y*65535/1080, 0, 0);
Sleep(50);//稍微延时50ms
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起
}
void move(int a,int b)
{
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, a*65535/1920, b*65535/1080, 0, 0);
}
void main()
{
int x1=0,y1=0;
int x2=0,y2=0;
long int t=0;
printf("请先进入阅读界面并调整窗口位置和大小,保持窗口置顶并不遮挡按钮。\n");
printf("请输入点击位置坐标,用空格隔开。1920*1080分辨率为1800 550,\n若为其它分辨率请自行推算或用程序测量。\n") ;
scanf("%d %d",&x1,&y1);
x2=x1;y2=y1;//dont change
printf("请输入单页阅读时间,单位毫秒(建议写60000)。\n阅读过程中鼠标会自动移动以规避检测,单页阅读时间会略大于输入值。\n请不要输入一个很小的值,否则你的鼠标就动不了了。\n本程序需要用鼠标手动退出。\n");
scanf("%d",&t);
printf("开始阅读。\n");
while(1)
{
click(x1,y1);
Sleep(t/2);
for(x1=x2;x1>=100;x1--)
{
move(x1,y1);
Sleep(1);
}
x1=x2;y1=y2;
Sleep(t/2);
}
}
目前这个程序还很简单,以后有空再优化一下。