码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-07-14 10:09:58      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:blog   关注   lag   checked   break   log   als   模拟   日常   

 

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

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

 

          

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

标签:blog   关注   lag   checked   break   log   als   模拟   日常   

原文地址:http://www.cnblogs.com/TwilightLemon/p/7168208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!