关机勿拔优盘小程序

xiaoxiao2021-02-28  96

电脑课上机,总有关机之后忘记拔优盘的情况。初学C#,想自己写个不要忘记拔优盘的小程序。

思路:优盘插上去自动运行程序,这个可以根据优盘病毒Autorun.inf弄。

程序运行时隐藏到托盘下,双击托盘图标或者右击,能显示或者关闭,关机时候禁止关机,直到程序停止运行。

namespace 关机忘拔出优盘 {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();

//隐藏任务栏,通过最小化窗口和不在任务栏显示来隐藏             this.ShowInTaskbar = false;             this.WindowState = FormWindowState.Minimized;         } //当系统关机时,会给各个正在运行的程序发送一个程序应用消息WM_QUERYENDSESSION。通知程序要关机了。如果反馈回来的消息为0,系统不会自行关闭。         private int isClose = 0;         private const int WM_QUERYENDSESSION = 0x0011;         protected override void WndProc(ref Message m)         {             switch (m.Msg)             {                 case WM_QUERYENDSESSION:

//设置返回值为0,要关机时不会关机,并让最小化的窗口显示出来                     m.Result = (IntPtr)isClose;                     this.WindowState = FormWindowState.Normal;                                         break;                 default:                     base.WndProc(ref m);                     break;             }         } //点击窗口,让消息返回值为1.程序不再阻止电脑关机         private void form_click(object sender, EventArgs e)         {             isClose = 1;             Close();         } //双击托盘图标,最小化的程序显示出来         private void mdoubleclick(object sender, MouseEventArgs e)         {             if (this.WindowState == FormWindowState.Minimized)                 this.WindowState = FormWindowState.Normal;             this.Activate();         } //添加一个NotiguIcon控件,用来显示托盘图标。

//在NotifyIcon上添加ContextMenuStrip控件,设置右键单击图标时显示的快捷菜单,如图:

        private void guanbi_click(object sender, EventArgs e)         {             Close();         }         private void xianshi_click(object sender, EventArgs e)         {             if (this.WindowState == FormWindowState.Minimized)             this.WindowState = FormWindowState.Normal;             this.Activate();         }            } }

测试结果,程序必须要有Framework框架 ,否则不能运行,Autorun.inf,因为之前拿来做病毒,写好后总被360删掉。

新手发帖,请多指教

转载请注明原文地址: https://www.6miu.com/read-85148.html

最新回复(0)