C语言 在程序中打开网页,模拟鼠标点击、键盘输入
一、简述
记--使用C语言 打开指定网页,并模拟鼠标点击、键盘输入。实现半自动填写账号密码,并登录网站(当然现在的大部分网站都有验证码,或有检测"非人为"操作,以防止恶意注册、登录)。
例子打包:链接: https://pan.baidu.com/s/1eStV0lAcmr8kmEA0n3LRcg 提取码: 7kvj
二、效果 (程序填写账号密码,实现半自动登录)
![](https://img-blog.csdnimg.cn/20181222103515688.gif)
三、工程结构
![](https://img-blog.csdnimg.cn/20181222104217834.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25hbmZlaWJ1eWk=,size_16,color_FFFFFF,t_70)
四、源文件
main.c文件
![复制代码](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jb21tb24uY25ibG9ncy5jb20vaW1hZ2VzL2NvcHljb2RlLmdpZg)
#include
#include
#include //ShellExecuteA()
//打开某个网址:website (使用默认浏览器)
void open_web(char *website)
{
ShellExecuteA(0,"open", website,0,0,1);
}
//模拟鼠标点击 (x,y)是要点击的位置
void click(int x, int y)
{
//将鼠标光标移动到 指定的位置 例子中屏幕分辨率1600x900 在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, x*65535/1600, y*65535/900, 0, 0);
Sleep(50);//稍微延时50ms
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起
}
//模拟键盘输入 keybd_event(要按下的字符,0,动作,0);动作为0是按下,动作为2是抬起
void input()
{
char user[]="1234567890123";//账号
char pwd[]="1234567890";//密码
click(823,392); //点击"用户名输入框"的位置
int i;
//输入账号
for(i=0;i |