我有一个打开多个窗口的程序。我使用this method将它们隐藏在ALT + TAB中。现在我需要新窗口停止显示在任务管理器的“任务”选项卡中。
我不需要在任务管理器中显示该进程,我只是不希望我的程序打开的所有窗口都显示在“任务”选项卡中。
这是我想要摆脱的图片:http://i1096.photobucket.com/albums/g324/thezaza101/Tasklist.jpg
-Thanks
答案 0 :(得分:7)
感谢David Heffernan。
在我的主窗口中,我添加了一个静态窗口字段,该字段引用了我的主窗口。
public static Window main;
Public MainWindow()
{
main = this;
}
在Windows上我需要隐藏任务管理器和ALT + TAB,我将主窗口作为其所有者:
public HiddenWindow()
{
this.Owner = MainWindow.main;
}
它非常简单,它隐藏了任务管理器上“任务”选项卡的窗口,也阻止了人们从ALT + TABing进入你的程序。
答案 1 :(得分:3)
对于WPF,我目前唯一知道的方法是将您的窗口标题设置为string.Empty
或将WindowStyle
设置为ToolWindow
。将ShowInTaskBar
设置为false不会将您的窗口隐藏在应用程序列表中。
答案 2 :(得分:0)
我遇到同样的问题(可能有些不同),这是我的代码:
subWindow.hide();//this will hide the subWindow
subWindow.show();//if want to show again
使用hide()
后,您将看不到任务窗口或AlT + TAB答案 3 :(得分:0)
另一种方法是使用WindowInteropHelper。
public MainWindow()
{
InitializeComponent();
SourceInitialized += (s, e) =>
{
var win = new WindowInteropHelper(this);
win.Owner = GetDesktopWindow();
};
}
[DllImport("user32.dll", SetLastError = false)]
static extern IntPtr GetDesktopWindow();