C# Winform在任务管理器中隐藏指定窗口
业务环境需求:
每次打开主窗体都需要进行登录验证, 关闭主窗体只是最小化到系统托盘,并不是真正的退出程序,现关闭主窗体后发现任务管理器中还能找到主窗体的任务,然后能从该任务直接打开主窗体窗口,不需要登录验证就能打开,与业务需求不一致。
解决办法:
关闭时调用 OnClosing方法,最主要的是需要把ShowInTaskbar的属性设置成false(必要条件)
1 protected override void OnClosing(CancelEventArgs e) 2 { 3 if (forceExit) 4 {
Application.Exit(); 7 } 8 else 9 { 10 e.Cancel = true; 11 this.Visible = false; 12 this.ShowInTaskbar = false;//为了隐藏任务管理器里的这个窗口 13 } 14 base.OnClosing(e); 15 }
再次打开程序时再把 Visible 和 ShowInTaskbar 设置成true即可。
1 this.Visible = true;
2 this.ShowInTaskbar = true;
转载于: