手把手教你用C#写一个刷屏软件

2023-11-06

手把手教你用C#写一个刷屏轰炸软件

成品展示

在这里插入图片描述

环境准备

VS2019

新建项目

在这里插入图片描述
在这里插入图片描述打开界面绘制
在这里插入图片描述打开工具箱开始放置按钮标签以及文本框
在这里插入图片描述最后设计完成的效果
在这里插入图片描述
这里需要注意的是这里的每个按钮、文本框等空间都一一对应一个名字
在这里插入图片描述

程序思路

点击开始,把发送框的内容复制到剪切板中,然后点击需要刷屏的对象框然后定时的模拟按键CTRL + V + ENTER实现粘贴和发送操作。

设计的操作:点击开始按钮,设定定时器执行间隔时间,获取输入框内容添加到剪切板,开启定时器,开始执行官定时器执行函数:模拟键盘按下,判断发送次数,点击关闭按钮,定时器关闭。

程序部分

双击控件跳转到控件对应的槽函数,这里我们只需要写开始和暂停按钮的函数即可。(一定要做好注释方便别人也方便自己)
在这里插入图片描述在设计页面添加定时器控件,然后双击控件进入槽函数
在这里插入图片描述设置剪切板内容为编辑框输入的内容

 Clipboard.SetText(putsStr.Text);            // 复制要发送的内容到剪切板

设定定时器间隔执行时间:这里获取的是编辑框的间隔时间毫秒为单位

putsTimer.Interval = int.Parse(putsTime.Text);    // 设定定时器时间间隔
putsTimer.Enabled = true;                         // 打开定时器
putsTimer.Start();                                // 定时器开始工作

模拟键盘按下的函数:SendKeys是一个非常好用的函数下面分享一个适合收藏的表格

SendKeys.Send("^{V}");	//模拟ctrl+v
SendKeys.Send("{ENTER}");//模拟enter

在这里插入图片描述关闭定时器

putsTimer.Enabled = false;                       //关闭定时器
putsTimer.Stop();                                //定时器停止工作

这里我单独写了一个函数用于控制两个按钮的可用控制以及颜色区分

 // 按钮可用控制
private void btnEnabled(bool btn1, bool btn2)
{
	if (btn1)
	{
		btnStart.Enabled = true;				//设定按钮可用状态
		btnStart.BackColor = Color.Green;       //设置按钮颜色
	}
	else
	{
		btnStart.Enabled = false;
		btnStart.BackColor = Color.Red;
	}
	if (btn2)
	{
		btnStop.Enabled = true;
		btnStop.BackColor = Color.Green;
	}
	else
	{
		btnStop.Enabled = false;
		btnStop.BackColor = Color.Red;
	}
}

设置图标以及标题
在这里插入图片描述在这里插入图片描述在这里插入图片描述

完整代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 
{
    public partial class Form1 : Form
    {
        int Num = 0;                                                  // 发送次数控制
        public Form1()
        {
            InitializeComponent();
            // 初始化按钮状态颜色
            btnStart.BackColor = Color.Green;
            btnStop.BackColor = Color.Red;
        }
        // 按钮可用控制
        private void btnEnabled(bool btn1, bool btn2)
        {
            if (btn1)
            {
                btnStart.Enabled = true;
                btnStart.BackColor = Color.Green;       //设置按钮颜色
            }
            else
            {
                btnStart.Enabled = false;
                btnStart.BackColor = Color.Red;
            }
            if (btn2)
            {
                btnStop.Enabled = true;
                btnStop.BackColor = Color.Green;
            }
            else
            {
                btnStop.Enabled = false;
                btnStop.BackColor = Color.Red;
            }
        }
        //  开始按钮
        private void btnStart_Click(object sender, EventArgs e)
        {
            Clipboard.SetText(putsStr.Text);                          // 复制要发送的内容到剪切板
            System.Threading.Thread.Sleep(2500);               // 延时2500毫秒用于鼠标指向聊天框
            putsTimer.Interval = int.Parse(putsTime.Text);    // 设定定时器时间间隔
            putsTimer.Enabled = true;                                   // 打开定时器
            putsTimer.Start();                                                 // 定时器开始工作
            btnEnabled(false, true);                                       // 打开按钮2关闭按钮1
        }
        // 暂停按钮
        private void btnStop_Click(object sender, EventArgs e)
        {
            putsTimer.Enabled = false;                                //关闭定时器
            putsTimer.Stop();                                               //定时器停止工作
            btnEnabled(true, false);                                     // 打开按钮1关闭按钮2
            MessageBox.Show("发送了" + Num + "次");     // 提示
        }
        // 定时器执行函数
        private void putsTimer_Tick(object sender, EventArgs e)
        {
            Num++;                                                             //发送次数
            SendKeys.Send("^{V}");
            SendKeys.Send("{ENTER}");
            if( Num == int.Parse(putsNum.Text))
            {
                putsTimer.Enabled = false;                            //关闭定时器
                putsTimer.Stop();                                           //定时器停止工作
                btnEnabled(true, false);                                 // 打开按钮1关闭按钮2
                Num = 0;                                                       // 发送次数清零
            }
        }
    }
}

如果需要项目的完整工程可以私聊博主噢

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你用C#写一个刷屏软件 的相关文章

  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 使用 C# 读取 Soap 消息

  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且

随机推荐

  • C#调用Java后端的restful接口(传递多参数)

    由于工作中的需要 在C 的winform窗口中调用html前端页面 是用webbrowser实现 此处不多做概述 但是前端请求的接口是用Java编写的 在webbrowser中使用C 来请求Java后端的restful接口 此处是C win
  • 掌上生活服务器维护中,招行掌上生活登录不上

    由于换了手机号 招行掌上生活一直登不上 打了不下10个客服电话后 终于得到一套非常复杂可能有效尚未尝试的解决方案 怕等下忘了 赶紧先记录一下 那么这个方案复杂到什么程度呢 复杂到客服妹妹已经无法理解 只能一字不落地读给我听然后寄希望于我的程
  • 可信启动、安全启动:SGX、TrustZone、SecureEnclave

    最近在公众号上看到了一篇文章 算是又丰富了自己的安全方面的眼界 最近看公众号取代了小视频 知乎这些东西 以前是真的不喜欢碎片化的东西 看什么学什么总是要找到书籍 但是这样的做法太过的极端 因为有时候有些事是两面性的 比如像安全这方面 本来有
  • Java 华为真题-黄金宝箱最大值

    需求 一贫如洗的樵夫阿里巴巴在去砍柴的路上 无意中发现了强盗集团的藏宝地 藏宝地有编号从0 N的箱子 每个箱子上面贴有一个数字 阿里巴巴念出一个咒语数字k k
  • New Bing/Bing AI一直提示未登录

    重新注册microsoft账号 任意邮箱均可 地区选US 期间必须一直挂着全局dl
  • 如何解决秒杀的性能问题和超卖的讨论

    一 秒杀带来了什么 秒杀或抢购活动一般会经过 预约 抢订单 支付 这3个大环节 而其中 抢订单 这个环节是最考验业务提供方的抗压能力的 抢订单环节一般会带来2个问题 1 高并发 比较火热的秒杀在线人数都是10w起的 如此之高的在线人数对于网
  • 树莓派无屏幕wifi ssh和vnc界面连接,手机ssh连接

    系统下载和系统烧写到SD卡 国内下载地址 下载zip解压 https mirrors tuna tsinghua edu cn raspberry pi os images raspios full armhf images raspios
  • 新技能 get —— Python 断点续传下载文件

    from urllib request import urlretrieve import sys import os prev reported download percent None 首先定义下载 hook 作为 urllib re
  • Elastic Search 相关度计算

    为了搞清楚elastic search背后是如何计算文档搜索时候的相关度 我决定自己做实验去探索 这篇博客讲得还不错 http blog csdn net dm vincent article details 42099063 而博客本身也
  • Flink Connection拒绝:localhost / 127.0.0.1:8081

    提交flink 任务报错 Exception Connection refused localhost 127 0 0 1 8081 at java util concurrent CompletableFuture encodeThrow
  • 给指定的元素添加水印

    let watermark desc 给指定的元素添加水印 params Object obj params1 String canvasId canvas元素 params2 String contentId canvas父容器元素 pa
  • TCP/IP为例数据封装与解封装过程

    一TCP IP数据封装过程 TCP IP数据封装分为5个步骤 在本文中我将按流程顺序介绍TCP IP的数据封装过程 应用层 应用层将需要传输的数据 如 文字 视频 图片 音频等 转换成能够被电脑识别的二进制数字也就是将数据翻译成设备能识别的
  • 单元测试学习笔记

    单元测试的一些好处 单元测试降低了Bug数量 防止过耦合的设计 已测试的代码更易于添加功能或修复Bug TDD 测试驱动开发策略 选择单元测试框架 单元测试命名 单元测试的艺术 书中推荐的测试命名规则 项目 创建一个名为 ProjectUn
  • 图像处理-目标检测、语义分割和实例分割的特点与区别

    目标检测 语义分割和实例分割是计算机视觉领域中常用的图像分析任务 它们在目标识别和场景理解方面发挥着重要作用 下面将介绍它们的特点和区别 1 目标检测 目标检测是识别图像中存在的物体并确定它们的位置 它通常通过在图像中绘制边界框来标记物体的
  • 统信UOS系统安装最最最详细教程,手把手教

    统信UOS系统安装最详细教程 一 背景意义 操作系统厂商很容易取得用户的各种敏感信息 你的身份 账户 通讯录 手机号那么多数据在一起 如果你用大数据分析 我们国家经济社会的这种活动情况其实都可以了解 统计的数字比统计部门的数字还准确 更快
  • 压缩感知之入门文献

    在搜索相关资料时 看到了一个不错的资源 入门级的介绍 给出了链接 有需要的可以去下载 如过实在有困难 可以留下地址 我会尽量一一恢复 https download csdn net download doumiji 3294118
  • spring boot学习1之main和tomcat启动及log日志

    写了个spring boot例子 的确是零配置 平时需要写个web例子测试之类的时候 用它还挺方便的 现在开发都搞微服务 api端之前都是dubbo或jesry 现在也可以用spring boot了 现在记录下spring boot的小例子
  • DHCP基础配置

    要求 1 DHCP Server0 0 0口使用接口DHCP进行分配IP 2 DHCP Server0 0 1口使用全局DHCP进行分配IP 3 各PC间均可以互通 需求分析 1 对GE 0 0 1接口 IP分配 2 进行配置全局地址池 3
  • 秒懂Python 赋值,浅拷贝,深拷贝

    直接赋值 对象的引用 别名 浅拷贝 copy 拷贝父对象 不会拷贝对象的内部的子对象 深拷贝 deepcopy copy模块的deepcopy方法 完全拷贝了父对象及其子对象 1 基础概念 在Python里 一切皆对象 完全的面向对象 1
  • 手把手教你用C#写一个刷屏软件

    手把手教你用C 写一个刷屏轰炸软件 成品展示 环境准备 新建项目 程序思路 程序部分 完整代码 成品展示 环境准备 VS2019 新建项目 打开界面绘制 打开工具箱开始放置按钮标签以及文本框 最后设计完成的效果 这里需要注意的是这里的每个按