临时。。。。

这篇博客介绍了如何使用C语言实现自动化登录网站的程序,包括通过ShellExecuteA打开网页,模拟鼠标点击定位元素,以及使用keybd_event进行键盘输入。程序详细定义了模拟鼠标点击、键盘输入以及关闭进程的函数,并在主函数中展示了如何应用这些函数来完成登录过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h> //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<sizeof(user);i++)
         {
             keybd_event(user[i],0,  0,0);
             keybd_event(user[i],  0, 2, 0);
             Sleep(30);    
         }    
     //tab键 对应的编号是0x09  让密码输入框 获取焦点 
         keybd_event(0x09,0,0,0);     //按下 
         keybd_event(0x09,0,2,0);     //松开 
         Sleep(30);    
     //输入密码     
     for(i= 0;i<sizeof(pwd);i++)
         {
             keybd_event(pwd[i], 0,0,0);
             keybd_event(pwd[i], 0, 2, 0);
             Sleep(30);
         }

     //模拟按下tab键 让登录按钮获取焦点 
         click( 824, 530);
     //点击"登录按钮" 
         Sleep(30);
     }
     //将chrome.exe进程杀掉,在例子中尚未使用 
     void close()
     {
         system( "taskkill  /f  /im chrome.exe");
     }
 
     int main(int argc,char *argv[])

     {
         open_web( "https://www.baidu.com/");       //打开某个网址 
         Sleep(4000);       //延时4秒,等待网页打开完毕,再进行其它操作。根据实际情况(浏览器打开速度,网速) 
         click( 1454, 126);     //点击"登录"(1454,126) 
         Sleep(150);
         click( 712, 658);    //点击"用户名登录"
         Sleep(150);
       input();    //模拟鼠标动作,键盘输入     
     return 0;
     }

  • render 渲染 ,  implicit未声明,   coordinate坐标,ellipse椭圆,rectangle矩形,system calls系统调用,convention规范
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值