C#:从任务管理器隐藏多个表单

我正在编写一个应用程序,它可以创建大量的表单来在桌面上显示小部件。 尽管ShowInTaskbar = false,该表单的每个实例都显示在任务管理器的Applications列表中; 实际上它们没有显示在任务栏中。

我想要的行为是只有应用程序的主窗体出现在任务管理器中,我该如何实现?

请注意,窗口也会显示在Alt + Tab栏中。 您需要通过重写CreateParams属性来更改窗口样式标志。 这是一个完整的例子:

public partial class Form1 : Form { public Form1() { InitializeComponent(); this.FormBorderStyle = FormBorderStyle.None; this.ShowInTaskbar = false; } protected override CreateParams CreateParams { get { var cp = base.CreateParams; cp.ExStyle |= 0x80; // Turn on WS_EX_TOOLWINDOW return cp; } } } 

您可以尝试将FormBorderStyle设置为工具窗口选项之一 – FixedToolWindowSizaableToolWindow 。 我认为工具窗口不会显示在任务管理器的应用程序列表中,但我对此并不乐观。