zoukankan      html  css  js  c++  java
  • "HK"日常之制作一只QQ刷屏

    刷屏器是什么?可以吃吗?如果可以吃它好吃吗?

    um. 刷屏器就是可以定时发生信息的东西

    刷屏器可以应用于很多方面,例如别人不理你了或者在QQ斗图的时候。
    警告:本教程仅作为学习研究,禁止其他用途!
    ---富强、民主、文明、和谐, 自由、平等、公正、法治, 爱国、敬业、诚信、友善---

          喵,进入正题。

          一、准备工作

    我们只需要用到几个参数即可:

             1.刷屏的内容

             2.每刷一次的时间

             3.以Enter方式还是Ctrl+Enter发送

         二、开始编码

      一开始,我选用了Timer,可是会出现还没有粘贴就发送或者粘贴了许多都没有发送的现象。

    于是我就有了个好点子:使用while(true)和await Task.Delay()来控制:

    以下代码以C# WPF为示例:

    首先需要一只模拟按键的API(WinForm也可以用)

    1         [DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]
    2         public static extern void keybd_event(Keys bVk, byte bScan, uint dwFlags, uint dwExtraInfo);

    接下来就需要开始使用他啦

     1 int ont=0;
     2 Action a=new Action( async delegate
     3                 {
     4                     while (true)
     5                     {
     6                         if (but.Text == "开始")//此处可改为需要停止的条件
     7                             break;
     8                         System.Windows.Clipboard.SetText(tx.Text);
     9                         if (on.IsChecked == true && tw.IsChecked == false)
    10                         {//使用Enter方法
    11                             keybd_event(Keys.ControlKey, 0, 0, 0);
    12                             await Task.Delay(10);
    13                             keybd_event(Keys.V, 0, 0, 0);
    14                             await Task.Delay(10);
    15                             keybd_event(Keys.ControlKey, 0, 2, 0);
    16                             await Task.Delay(10);
    17                             keybd_event(Keys.Enter, 0, 0, 0);
    18                         }
    19                         else
    20                         {//使用Ctrl+Enter方法
    21                             keybd_event(Keys.ControlKey, 0, 0, 0);
    22                             await Task.Delay(10);
    23                             keybd_event(Keys.V, 0, 0, 0);
    24                             await Task.Delay(10);
    25                             keybd_event(Keys.ControlKey, 0, 2, 0);
    26                             await Task.Delay(10);
    27                             keybd_event(Keys.ControlKey, 0, 0, 0);
    28                             await Task.Delay(10);
    29                             keybd_event(Keys.Enter, 0, 0, 0);
    30                             await Task.Delay(10);
    31                             keybd_event(Keys.ControlKey, 0, 2, 0);
    32                         }
    33                         ont++;
    34                         tit.Text = "已刷屏次数: "+ont;
    35                         await Task.Delay(t);
    36                     }
    37                 });
    38                 a();//开始

    编码工作完成了,接下来就是测试

     

    三、测试运行

    此处可以忽略 um

    然后我就被管理员踢了 QAQ

    --end

    看完啦,如果喜欢那就快点关注我吧

    本文章项目源码:https://github.com/TwilightLemon/LemonMG

              

  • 相关阅读:
    1、springcloud gateway
    -webkit-overflow-scrolling:touch 相关
    SpringBoot(一)原理剖析:SpringApplication启动原理
    JAVA基础面试题
    JVM面试题
    排序(四)选择排序:简单选择排序
    排序(三)插入排序:简单插入排序和希尔排序
    排序(二)交换排序:冒泡排序与快速排序
    排序(一)简介
    多线程面试题
  • 原文地址:https://www.cnblogs.com/TwilightLemon/p/7168208.html
Copyright © 2011-2022 走看看