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来进行坐标查看。

  • 相关阅读:
    cinder支持nfs快照
    浏览器输入URL到返回页面的全过程
    按需制作最小的本地yum源
    创建可执行bin安装文件
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    惠普IPMI登陆不上
    Linux进程状态——top,ps中看到进程状态D,S,Z的含义
    openstack-neutron基本的网络类型以及分析
    openstack octavia的实现与分析(二)原理,架构与基本流程
    flask上下文流程图
  • 原文地址:https://www.cnblogs.com/smbx-ztbz/p/9194296.html
Copyright © 2011-2022 走看看