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

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

成品展示

环境准备

VS2019

新建项目

打开界面绘制

打开工具箱开始放置按钮标签以及文本框

最后设计完成的效果

这里需要注意的是这里的每个按钮、文本框等空间都一一对应一个名字

程序思路

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

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

程序部分

双击控件跳转到控件对应的槽函数,这里我们只需要写开始和暂停按钮的函数即可。(一定要做好注释方便别人也方便自己)

在设计页面添加定时器控件,然后双击控件进入槽函数

设置剪切板内容为编辑框输入的内容

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

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

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;                                                       // 发送次数清零
            }
        }
    }
}

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

相关文章
|
2月前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPISDK设置软件触发模式(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPISDK设置软件触发模式(C#)
53 1
|
移动开发 JavaScript 前端开发
开源项目推荐:SCADA组态软件Qt,kanzi,C#,MFC和WEB大全(收藏版)
开源项目推荐:SCADA组态软件Qt,kanzi,C#,MFC和WEB大全(收藏版)
4133 0
|
2月前
|
存储 监控 C#
在上网行为管理软件中实现C#的跨平台应用
本文介绍了使用C#实现跨平台上网行为管理应用的方法。首先,通过.NET Core SDK创建多操作系统兼容的开发环境。接着,利用HttpClient捕获和记录HTTP请求,示例代码展示了如何捕获请求URL。然后,使用SQLite存储网络行为数据,并提供了创建数据库和插入数据的代码。此外,还讨论了如何跨平台编译应用程序以及如何自动将数据提交到远程服务器。通过这些步骤,可以构建一个能在不同操作系统上运行的上网行为管理系统。
138 3
|
2月前
|
监控 安全 C#
开发公司电脑监控软件的报警系统:一个C#示例
在当今数字化时代,企业对其计算机网络和系统的安全性和稳定性越来越重视。为了确保员工遵守公司政策、保护机密信息以及监控系统的正常运行,开发一种可靠的公司电脑监控软件变得至关重要。本文将介绍如何使用C#编写一个简单而有效的报警系统,以便监控关键数据并在必要时发出警报。
105 0
|
7月前
|
安全 C# Windows
C#开源的一个能利用Windows通知栏背单词的软件 - ToastFish
C#开源的一个能利用Windows通知栏背单词的软件 - ToastFish
|
11月前
|
C#
45【软件技术基础】C#调用NPOI插件对EXCEL进行处理
NPOI插件进行EXCEL表格处理,不依赖第三方软件,功能强大,使用简便。 C#调用NPOI插件进行EXCEL单个表和文件夹中批量表的处理。
166 1
|
8月前
|
监控 C# Windows
内网桌面监控软件中的远程控制功能实现(基于C#和Windows Forms)
近年来,随着远程办公的兴起,对内网桌面监控软件的需求逐渐增加。本文将探讨如何通过C#和Windows Forms实现内网桌面监控软件中的远程控制功能,并在结尾部分介绍监控到的数据如何自动提交到网站。
300 0
|
8月前
|
JSON 监控 安全
通用网络安全编程:C#实现监控上网时间的软件与警报系统
在当今数字时代,网络安全已经成为每个人都必须关心的问题。为了保护家庭成员或企业员工在互联网上的安全,开发一款能够监控上网时间并实现警报系统的软件变得至关重要。本文将介绍如何使用C#编程语言创建这样一款软件,并通过一些具体的代码例子来阐述其实现过程。
213 0
|
10月前
|
JavaScript C# 数据安全/隐私保护
C# 软件Licence应用实例
我们在使用一些需要购买版权的软件产品时,或者我们做的商业软件需要进行售卖,为了收取费用,一般需要一个软件使用许可证,然后输入这个许可到软件里就能够使用软件。简单的是一串序列码或者一个许可证文件,复杂的是一个定制化插件包。于是有的小伙伴就开始好奇这个许可是怎么实现的,特别是在离线情况下它是怎么给软件授权,同时又能避免被破解的。
219 0
|
11月前
|
设计模式 算法 C#
28【WinForm】C#实现商场收银软件,从面向过程到面向对象,设计模式的应用
实现商场收银系统从简单的面向过程到面向对象的演变。
121 0