本文主要介绍屏幕维护程序的一些相干知识,和其在安全方面的用处,同时介绍了怎么使用 .NET 开发一款屏幕维护程序,并对核心功能做了介绍,案例代码开源:https://github.com/sangyuxiaowu/HackerScreenSaver
背景文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
头几天在论坛看到想维护公司的服务器同享文件的安全,然而员工自己的电脑老是忘怀关闭关机,想再设置一个密码。可是这样不应当先解决一下员工电脑老是忘怀关的问题么?文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
如果你要离开装备几分钟,最佳将其锁定,以避免别人看到屏幕上的内容,或走访装备上的任何内容。按 Windows 徽标键 + L 当即将其锁定。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
动态锁文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
固然,也能够通过动态锁的方式实现,Windows 可使用与你的电脑配对的装备检测你什么时候离开,并在你的已配对装备超越蓝牙规模后当即锁定你的电脑。这使得当你离开电脑并且忘怀将其锁定时,其别人更难于走访你的装备。配对完成后,只需在离开时随身带上手机,你的电脑即可在你超越蓝牙覆盖规模以后大约一分钟自动锁定。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
动态锁文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
然而主动锁定以及动态锁,一个要主动一个要配置以及蓝牙配合都有一些不足,怎么更利便的实现?文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
屏幕维护程序文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
屏幕维护程序在我印象里好像是 Windows XP 的时期,现在好像没见过几个 Win10 以及 Win11 用户去专门的设置这个,倒是看过 Win7 的用户在用。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
针对上门提出的超时锁定,这个屏幕维护程序可以大有作为,咱们可以勾选“在恢复时显示登录屏幕”,这样咱们在不使用电脑第一段时间后就需要输入密码了。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2679.html
转到\"设置>个性化>锁屏界面,然后选择\"屏幕维护程序设置\"。
屏幕维护程序
屏幕维护程序有用吗
电脑里的屏幕维护程序对维护屏幕有用吗?作为一个古老的功能,实际上屏幕维护程序仅对使用图形界面操作系统的 CRT 显示器有维护作用。对于CRT来讲,屏幕维护是为了避免让屏幕一直维持静态的画面过长时间。
由于不同显示器的工作原理不同,比如笔记本经常使用的 LCD, 一直开着屏幕维护反而是帮了倒忙,所以不管什么显示器如果是长期不用电脑而又需要主机处于运行状况的话,把显示器关掉才是明智的做法。
这里咱们可以同时配合“屏幕超时设置”,在一定时间下关闭电脑屏幕。比如1分钟进屏幕维护,3分钟直接关闭屏幕。
屏幕超时设置
设计一个屏幕维护程序
在设计以前咱们需要了解一些基本的常识。
屏幕维护程序命令行参数
屏幕维护程序的开发需要提供一些启动参数供设置以及预览。Windows 通过命令行参数与屏幕保留程序通讯。具体可查阅文档:屏幕维护程序命令行参数[1]
参数 | 说明 |
空 | 显示设置对话框 |
/c | 显示设置对话框,使用模态对话框显示到前台 |
/p <HWND> | 在<HWND>窗体下预览效果 |
/s | 启动屏幕维护程序 |
/S | 右键scr的Test启动 |
了解了启动参数,咱们需要对软件的参数启动进行处理。
/// <su妹妹ary>/// 利用程序的主入口点。/// </su妹妹ary>[STAThread]static void Main{ Application.EnableVisualStyles; Application.SetCompatibleTextRenderingDefault; if { switch .Trim.Substring) { case \"/p\": Main pri = new Main)); pri.ShowDialog; break; case \"/s\"://Test 或 执行屏保,大写为测试,小写为被启动,这里不做区别 Application.Run); break; default: ShowSetting; break; } } else { ShowSetting; }}static void ShowSetting{ MessageBox.Show; Application.Exit;}效果实现思路
咱们往往会在一些影视作品中里看到一些黑客高手,在电脑前一阵噼里啪啦“黑”进他人的安全系统的场景。
GeekTyper[2] 就是国外网友制作的几个用来装 X 的文娱网页。
GeekTyper
所以软件的主要实现是放置一个无框的窗体,通过 WebBrowser 来显示黑客效果的网页。咱们只需要在软件启动时用 WebBrowser 加载喜欢的效果的网页就能够了。
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;this.TopMost = true;this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
这里咱们可以自行指定一个 URI ,然而为了离线使用,可以将其放到本地,这里我打包了一个分享在仓库的 releases。
//webB.Url = new Uri;webB.Navigate;注意退出
编码测试时还有一个尤其需要注意的事情,一定要写好退出功能。如果没写好就安装屏保测试的话,就不好退出了呀, Ctrl+Alt+Del 试试吧。
这里说的退出是指屏保运行后,用户操作了鼠标或者是键盘就需要退出屏保程序。由于这里用了 WebBrowser ,同时咱们需要斟酌多显示器的情况,所以鼠标键盘的事件需要监听全局,这里使用的是 MouseKeyHook[3] 库。
public Main{ InitializeComponent; // 鼠标键盘事件用于收场屏保 m_GlobalHook = Hook.GlobalEvents; m_GlobalHook.MouseClick += M_GlobalHook_MouseClick; m_GlobalHook.KeyPress += M_GlobalHook_KeyPress; m_GlobalHook.MouseMove += M_GlobalHook_MouseMove;}private void M_GlobalHook_KeyPress{ Application.Exit;}private void M_GlobalHook_MouseClick{ Application.Exit;}private bool isActive = false;private Point mouseLocation;/// <su妹妹ary>/// 鼠标动了一定程度,就收场屏保/// </su妹妹ary>/// <param name=\"sender\"></param>/// <param name=\"e\"></param>private void M_GlobalHook_MouseMove{ if return; if { isActive = true; mouseLocation = new Point; return; } if > 10) || > 10)) { Application.Exit; }}窗体预览的处理
前面的窗体预览咱们处理
以上就是微观生活(93wg.com)关于“用.NET设计一个伪装黑客的屏幕维护程序”的详细内容,希望对大家有所帮助!
评论