在 VB.NET 的任务管理器应用程序选项卡中隐藏表单
Posted
技术标签:
【中文标题】在 VB.NET 的任务管理器应用程序选项卡中隐藏表单【英文标题】:Hide a Form From Task Manager Application Tab in VB.NET 【发布时间】:2016-11-14 12:48:16 【问题描述】:我尝试使用三个表单制作应用程序,但我不希望其他两个表单显示在任务栏和任务管理器应用程序选项卡中。我将他们的 ShowInTaskbar
设置为 False
并且它有效。
但是当我打开我的任务管理器时,它们的三个名称都列在“应用程序”选项卡中。那么如何让它们不在任务管理器中显示呢?
我仍然希望它出现在进程选项卡中,而不是应用程序选项卡中。因为如果我有 3 个表单,在应用程序选项卡中将显示 Form1、Form2、Form3 名称。
【问题讨论】:
为什么不想在任务管理器中显示它们?它们的目的是让用户可以看到正在运行的程序并可以关闭无响应的程序,查看正在使用内存的程序等。此外,您不要从那里隐藏表单,而是隐藏可执行文件。 @Zaggler :我认为他想隐藏窗口,使其不显示在“应用程序”选项卡中,但在“进程”下仍然可见。在 Windows 10 中,这些已合并到一个选项卡中,但在 Windows 7 及更早版本中,它们是两个不同的选项卡。 我认为这在 Win10 中发生了变化,以前 ShowInTaskbar=false 就足够了。您必须让任务管理器相信它是一个“帮助”窗口。这需要使用 Show(owner) 重载来显示它,因此它是一个拥有的窗口。或者将其 FormBorderStyle 属性设置为 SizeableToolWindow。 我仍然希望它出现在进程选项卡中,而不是应用程序选项卡中。因为如果我有 3 个表单,在应用程序选项卡中将显示 Form1、Form2、Form3 名称。 【参考方案1】:将此代码添加到您的项目中
Protected Overrides ReadOnly Property CreateParams As CreateParams
Get
Dim cp = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H80
Return cp
End Get
End Property
可以帮到你吗?
【讨论】:
【参考方案2】:请尝试以下方法(假设您使用 Visual Studio):
打开解决方案/项目
打开程序/项目的属性
转到“应用程序选项卡”
将应用程序类型更改为 Windows 服务
现在您的程序应该在任务管理器中显示为后台进程,而不是应用程序。
【讨论】:
没有那么简单。仍然必须创建服务及其OnStart
和OnStop
方法。 -- 此外,由于他使用多种形式,人们会假设他正在展示某种用户界面,而这不能通过服务以简单的方式完成。即使他确实显示了来自服务的表单,它们仍然会显示在任务管理器的Applications
选项卡中,除非最初的问题得到解决。
他甚至明确要求隐藏三分之二表单,而不是整个应用程序。以上是关于在 VB.NET 的任务管理器应用程序选项卡中隐藏表单的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 TaskManager 应用程序选项卡中隐藏 winform?
windowswindows系统下,在任务管理器的进程选项卡中查看PID/任务管理器怎么查看PID
为啥代码隐藏文件在 VB.NET Web 应用程序项目中不可见?