C# 学习笔记(11)蓝屏小工具
Posted 不咸不要钱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 学习笔记(11)蓝屏小工具相关的知识,希望对你有一定的参考价值。
C# 学习笔记(11)蓝屏小工具
加载界面参考 C# Winform 现代化扁平化启动界面设计https://www.bilibili.com/video/BV17E41147wM
-
PS做一张图 700*400像素的
-
新建一个工程winForm工程
-
设置窗体属性
设置窗体格式(无边框)
设置窗体出现位置(屏幕中心)
设置窗体不会出现在任务栏上
设置窗体在桌面最顶层(不会被其他应用程序界面遮住)
设置窗体背景透明色(和窗体背景色一样)
设置窗体大小(和图片大小相同即可)
设置鼠标光标样式
设置背景图片
- 添加一个label控件,显示加载信息
拖一个label控件到窗体合适位置
禁止label自动修改大小并手动修改大小
设置背景颜色和图片颜色一样
设置文本对齐方式,居中对齐
- 拖一个定时器控件,动态修改label文本
使能定时器
修改定时器定时周期 1000ms
添加定时事件
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//要显示的信息
List<string> strLog = new List<string> { "加载配置信息", "增加首选项", "正在初始化", "增加脚本支持" };
private void timerLog_Tick(object sender, EventArgs e)
{
if(strLog.Count > 0)
{
//更换显示信息
labLog.Text = strLog[0];
strLog.RemoveAt(0);
}
else
{
//返回OK
this.DialogResult = DialogResult.OK;
timerLog.Stop();
}
}
}
- 加载完毕弹出蓝屏界面
添加新窗体
设置窗体默认最大化显示
设置窗体不会出现在任务栏上
设置窗体在桌面最顶层(不会被其他应用程序界面遮住)
设置窗体背景图片及图片显示格式Stretch
设置窗体无边框
修改main函数,将该窗体显示出来
- 禁止窗体关闭
防止使用 alt+tab 关闭蓝屏窗体 ,注册窗体正在关闭事件,当检测到窗体正在关闭时,取消关闭
private void FormBlue_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
- 禁用任务管理器
这个时候已经有点意思了,但是还可以通过 win+tab创建新桌面,利用任务管理器关掉
创建一个禁止使用任务管理器的类
public static class TaskmgrKill
{
public static void Run()
{
Thread thread = new Thread(Kill);
thread.IsBackground = true;
thread.Start();
}
static void Kill()
{
while (true)
{
try
{
//获取任务管理器进程句柄
Process[] process = Process.GetProcessesByName("Taskmgr");
foreach (var item in process)
{
//关闭任务管理器
item.Kill();
Thread.Sleep(100);
}
}
catch
{
}
}
}
}
调用Run方法禁用任务管理器
现在想关闭,可以通过 win+tab 新建桌面, 然后通过 cmd命令行 taskkill /f /t /im CSharp_蓝屏小工具.exe
源码地址https://github.com/mian2018/CSharp_BlueTool
以上是关于C# 学习笔记(11)蓝屏小工具的主要内容,如果未能解决你的问题,请参考以下文章