zoukankan      html  css  js  c++  java
  • 新浪微博内容自动删除

    一、起因

    新浪微博号被盗了,发现被发表了一大堆乱起八糟的东西,一条条删除太麻烦了,于是决定写个程序自动删除。原本是想通过屏幕截图,再利用opencv进行图像识别、自动定位的功能,不过后面发现直接模拟鼠标移动及鼠标单击就可以完成自动删除的功能了。偷下懒。

    二、代码

    用VS2015编译的

    #include<iostream>
    #include<conio.h>
    #include<windows.h>
    #include <fstream>
    #include <string>
    
    #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //必要的,我是背下来的 
    
    
    int main(int argc, char** argv) {
    
        POINT point[3];
        std::ifstream fin("setup.txt");
        std::string str;
        int num = 0;
        while (!fin.eof()) {
            getline(fin, str);
            std::cout << str << std::endl;
            if (num % 2 == 0) {
                point[num / 2].x = atoi(str.c_str());
            }
            else {
                point[num / 2].y = atoi(str.c_str());
            }
            num++;
        }
        std::cout << "(" << point[0].x << ", " << point[0].y << ")" << std::endl;
        std::cout << "(" << point[1].x << ", " << point[1].y << ")" << std::endl;
        std::cout << "(" << point[2].x << ", " << point[2].y << ")" << std::endl;
        std::cout << "按S开始" << std::endl;
        std::cout << "按Q停止鼠标点击" << std::endl;
        
        int now = 0;
        while (1) {
            if (KEY_DOWN('Q')) {//VK_SPACE 是空格的虚拟键值 
                now = 0;
                Sleep(100);//你的手不会再一瞬间送开,所以要处理一下 
            }
            if (KEY_DOWN('S')) {
                now = 1;
                Sleep(100);
            }
    
            if (now == 1) {//模拟点击左键
                //POINT p;
                //GetCursorPos(&p);//获取鼠标坐标   
                SetCursorPos(point[0].x, point[0].y);//更改鼠标坐标
                mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
                Sleep(10);//要留给某些应用的反应时间 
                mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
                Sleep(1000);
    
                SetCursorPos(point[1].x, point[1].y);//更改鼠标坐标
                mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
                Sleep(10);//要留给某些应用的反应时间 
                mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
                Sleep(1000);
    
                SetCursorPos(point[2].x, point[2].y);//更改鼠标坐标
                mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
                Sleep(10);//要留给某些应用的反应时间 
                mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
                Sleep(1000);
            }
            Sleep(20);//点击间隔 单位是毫秒 
        }
        return 0;
    }

    三、编译好的软件包及效果

    下载地址:链接:https://pan.baidu.com/s/18oUR8bwn_nBW2E8U9d5biA 密码:unp9

    说明:可根据自己实际情况进行鼠标位置的调整,配置文件在安装目录的setup.txt文件下,共六个数字,一个数字一行,每两行为一个坐标。可以先借用mousexy来进行坐标查看。

  • 相关阅读:
    设置matplotlib.pyplot设置画图的坐标系
    [leetcode]238. 除自身以外数组的乘积
    彩色图到灰度图究竟是怎么变换的
    1.1 PIL:Python图像处理类库
    基于GoogLeNet的不同花分类微调训练案例
    消息队列 ActiveMQ的简单了解以及点对点与发布订阅的方法实现ActiveMQ
    解决session共享问题
    linux安装Nginx 以及 keepalived 管理Nginx
    nginx解决服务器宕机、解决跨域问题、配置防盗链、防止DDOS流量攻击
    Nginx实现负载均衡
  • 原文地址:https://www.cnblogs.com/smbx-ztbz/p/9194296.html
Copyright © 2011-2022 走看看