VC实现自动无限点击百度关键字

前言

  • 请多关注我的个人网站
        近一段时间,狼厂关于卖吧的事搞得沸沸扬扬的.当然,我们今天的主题谈不是谈论它应不应该卖.勿喷.
        互联网营销是现在的主要营销方式,用此渠道推广和营销的方式前提是需要有自己的网站。通过对搜索
    引擎制定关键字进行推广。今天我们就搞个小程序,实现自动无限点击广告的功能(每点击一次,狼厂就会收取
    广告商的费用,当然你最好是使用VPN工具,动态更换IP,哈哈,纯属小技术, 毋用作它途).
  • 准备工作

    • Windows环境
    • Visual Studio 2013
  • 先看一下效果(如果没有加载出来,可以点击效果展示链接进行查看)

cmd-markdown-logo

知识储备

  • ShellExecuteA函数

ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。若ShellExecuteA函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。

    该函数使用时需要传入6个参数:
        _In_opt_ HWND hwnd, 句柄
        _In_opt_ LPCSTR lpOperation, 用于指定的操作
        _In_ LPCSTR lpFile, 用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名
        _In_opt_ LPCSTR lpParameters, 若lpFile参数是一个可执行程序,
    则此参数指定命令行参数,否则此参数应为NULL
        _In_opt_ LPCSTR lpDirectory, 用于指定默认目录.
        _In_ INT nShowCmd 若lpFile参数是一个可执行程序,
    则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。
    nShowCmd这个参数常见的常量有:
        SW_HIDE 隐藏窗口,活动状态给令一个窗口
        SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
        SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
        SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
        SW_SHOWMAXIMIZED 最大化窗口,并将其激活
        SW_SHOWMINIMIZED 最小化窗口,并将其激活
        SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
        SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
        SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
        SW_SHOWNORMAL 与SW_RESTORE相同
  • keybd_event函数

该函数合成一次击键事件。系统可使用这种合成的击键事件来产生WM_KEYUP或WM_KEYDOWN消息

    该函数使用时需要传入4个参数:
    BYTE bVk, //  定义一个虚拟键码。键码值必须在1~254之间。
    BYTE bScan, //  定义该键的硬件扫描码,一般不用设置,用0代替就行.
    DWORD dwFlags, //  定义函数操作的各个方面的一个标志位集。应用程序可使用
    一些预定义常数的组合设置标志位。如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP"
    DWORD dwExtraInfo // 定义与击键相关的附加的32位值。一般也是置0即可

Action

实现这个小功能非常简单,大概就是下面这几步
    1.打开浏览器,输入`http://www.baidu.com`
    2.输入关键字,比如我们这儿输入"医院"
    3.点击第一条关键字信息
    4.关闭浏览器
    5.实现无线点击

1.打开浏览器,输入http://www.baidu.com

这个代码就非常简单了,直接上代码
void openBrowser(char *url)
{
    ShellExecuteA(NULL, "open", url, NULL, NULL, 0);
}
直接在main()函数调用这个函数: openBrowser("http://www.baidu.com");
运行程序,就会自动打开浏览器,并进入百度首页,如图
VC实现自动无限点击百度关键字_第1张图片
cmd-markdown-logo

2.输入关键字,比如我们这儿输入"医院"

实现关键字的搜索,主要就是需要利用到keybd_event函数
void search()
{
    keybd_event('Y', 0, 0, 0);//按下
    keybd_event('Y', 0, 2, 0);//代表松开
    keybd_event('I', 0, 0, 0);//按下
    keybd_event('I', 0, 2, 0);//代表松开
    keybd_event('Y', 0, 0, 0);//按下
    keybd_event('Y', 0, 2, 0);//代表松开
    keybd_event('U', 0, 0, 0);//按下
    keybd_event('U', 0, 2, 0);//代表松开
    keybd_event('A', 0, 0, 0);//按下
    keybd_event('A', 0, 2, 0);//代表松开
    keybd_event('N', 0, 0, 0);//按下
    keybd_event('N', 0, 2, 0);//代表松开
    Sleep(30);
    // 如果输入法是搜狗拼音输入法,还需要选择第一个词语
    keybd_event('1', 0, 0, 0);//按下
    keybd_event('1', 0, 2, 0);//代表松开
    Sleep(30);
    keybd_event(0x0D, 0, 0, 0);//按下回车键
    keybd_event(0x0D, 0, 2, 0);//代表松开
}

3.点击第一条关键字信息

此时需要查看你电脑的分辨率来确定第一条信息大概所处的位置.回到桌面,右击查看你的分辨率.下面的数据是用的我的电脑分辨率(2880 * 1536),记得改成你自己的分辨率即可.
此处有个注意点:我这儿的400*400也是相对于我电脑分辨率的,大家可以相应的做调整.
void click()
{
    mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 400 * 65535 / 2880, 400 * 65535 / 1536, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}

4.关闭浏览器

此时,你需要查看你当前打开的浏览器,可以通过进程或者在CMD中输入tasklist查看其名称.由于我是使用的IE浏览器,就以IE浏览器为例.
void close()
{
    system("taskkill /f /im iexplore.exe");
}

5.实现无限点击

最后,就比较easy了,搞个死循环即可
int main()
{
    while (1)
    {
        openBrowser("http://www.baidu.com");
        Sleep(2000);
        search();
        Sleep(2000);
        click();
        Sleep(2000);
        close();
    }
    system("pause");
    return 0;
}

联系我

github

微博

你可能感兴趣的:(VC实现自动无限点击百度关键字)