您的位置:首页 > 其它

"HK"日常之制作一只QQ刷屏

2017-07-14 07:08 225 查看

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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: