【问题标题】:How to make WinForm run in background / hide it from TaskManager/Apps如何让 WinForm 在后台运行/从 TaskManager/Apps 中隐藏
【发布时间】:2020-09-17 02:01:39
【问题描述】:

我想要实现的是将我的程序隐藏在 [Processes/Apps] 区域中。它可以显示在[后台进程]区域。我注意到一些程序具有此功能,例如 Chrome 和 Gitfy

确切地说,我正在尝试制作一个仅托盘的 winform 程序,它应该被识别为“后台进程”。但我所做的只是让它从任务栏隐藏起来。

This question's answer 隐藏,但它会在桌面上留下一个窗口标题栏(实际上是一个工具窗口)。所以也许我们可以解决这个问题并隐藏那个窗口:/

【问题讨论】:

  • this.Hide(); 有什么问题?
  • 更新了答案。它应该做你现在需要的。
  • 为什么您需要您的应用程序显示在其他应用程序(TaskManager)的特定位置?

标签: c# winforms winapi


【解决方案1】:

非常感谢 Andy 的回答,经过几次测试,我发现真正的问题是 WinForm 会在 Form 的构造函数之后调用 Show()。这就是为什么我在构造函数中的Hide() 不起作用的原因。然后我把它移到OnLoad,一切都很顺利。

protected override void OnLoad(EventArgs e) {
    base.OnLoad(e);
    Hide();
}

不需要CreateParams,也不需要FormBorderStyle.None

【讨论】:

    猜你喜欢
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多