我正在编写一个透明的WinForms应用程序,我想隐藏应用程序,不要在任务管理器的应用程序选项卡中显示。我很好,因为它会在进程中显示(事实上它应该)。 如果我设置:
this.ShowInTaskbar = false;
它只隐藏在任务栏中。
完整代码我有一个由标签制作的计时器
public Form1()
{
InitializeComponent();
this.BackColor = Color.LimeGreen;
this.TransparencyKey = Color.LimeGreen;
Timer time = new Timer();
time.Interval = 1000;
time.Tick += new EventHandler(time_Tick);
time.Start();
this.ShowInTaskbar = false;
}
void time_Tick(object sender, EventArgs e)
{
label1_hour.Text = DateTime.Now.Hour.ToString() ;
label_minute.Text = DateTime.Now.Minute.ToString();
label_second.Text = DateTime.Now.Second.ToString();
}
答案 0 :(得分:31)
尝试这样的事情
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;
}
}
}
答案 1 :(得分:1)
只需将表单属性FormBorderStyle设置为FixedToolWindow即可。在Win 10上,它将它从任务管理器中的“应用程序”中删除,并将其放入OP指定的“后台进程”中......(也是我想要的。)
此外,它还删除了在Windows的“Windows Key + Tab”列表中显示的表单......这也是我想要的。