在 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 服务

现在您的程序应该在任务管理器中显示为后台进程,而不是应用程序。

【讨论】:

没有那么简单。仍然必须创建服务及其OnStartOnStop 方法。 -- 此外,由于他使用多种形式,人们会假设他正在展示某种用户界面,而这不能通过服务以简单的方式完成。即使他确实显示了来自服务的表单,它们仍然会显示在任务管理器的Applications 选项卡中,除非最初的问题得到解决。 他甚至明确要求隐藏三分之二表单,而不是整个应用程序。

以上是关于在 VB.NET 的任务管理器应用程序选项卡中隐藏表单的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 TaskManager 应用程序选项卡中隐藏 winform?

在任务管理器的应用程序选项卡中获取正在运行的任务列表

windowswindows系统下,在任务管理器的进程选项卡中查看PID/任务管理器怎么查看PID

为啥代码隐藏文件在 VB.NET Web 应用程序项目中不可见?

使用CMD打开word文档到另一台电脑,它只停留在任务管理器的进程选项卡中,不显示在另一台电脑的屏幕上

是否可以在 Chrome Web 检查器网络选项卡中隐藏扩展资源?