Лучший способ скрыть окно от переключателя программ Alt-Tab? - PullRequest
93 голосов
/ 10 декабря 2008

Я был разработчиком .NET уже несколько лет, и до сих пор это одна из тех вещей, которые я не знаю, как делать правильно. Окно на панели задач легко скрыть через свойство в Windows Forms и WPF, но, насколько я могу судить, это не гарантирует (или даже не влияет) его скрытие от Alt + ↹Tab диалоговое окно. Я видел невидимые окна, отображаемые в Alt + abTab , и мне просто интересно, каков наилучший способ гарантировать, что окно будет никогда не появляется (видимый или нет) в диалоговом окне Alt + ↹Tab .

Обновление: Пожалуйста, смотрите мое опубликованное решение ниже. Мне не разрешено отмечать мои собственные ответы как решение, но пока оно работает единственно.

Обновление 2: Теперь Франци Пенов нашел подходящее решение, которое выглядит неплохо, но я не пробовал его сам. Включает в себя некоторые Win32, но избегает неудачного создания неэкранных окон.

Ответы [ 13 ]

0 голосов
/ 24 апреля 2009

Свойства Form1:
FormBorderStyle: Sizable
WindowState: свернутый
ShowInTaskbar: False

private void Form1_Load(object sender, EventArgs e)
{
   // Making the window invisible forces it to not show up in the ALT+TAB
   this.Visible = false;
}>
0 голосов
/ 29 декабря 2008

Не показывать форму. Используйте невидимость.

Подробнее здесь: http://code.msdn.microsoft.com/TheNotifyIconExample

0 голосов
/ 10 декабря 2008

Лично, насколько я знаю, это невозможно без какого-либо подключения к окнам, я даже не уверен, как это будет сделано или возможно ли это.

В зависимости от ваших потребностей, разработка контекста приложения в виде приложения NotifyIcon (системный трей) позволит ему работать без отображения в ALT + TAB. ОДНАКО, если вы откроете форму, эта форма будет по-прежнему соответствовать стандартной функциональности.

Я могу выкопать в своем блоге статью о создании приложения, которое по умолчанию является ТОЛЬКО NotifyIcon, если хотите.

...