Скрыть панель задач с помощью C#

Я работаю под управлением Windows XP 64 бит. Я хочу скрыть панель задач при запуске приложения.

Я пробовал коды с помощью поиска в Интернете. Во всех них скрывается панель задач. Но проблема в том, что когда я открываю блокнот и максимизирую его, на самом деле он не отображается на весь экран. Потому что пространство, где была панель задач, все еще заблокировано пустым пространством. Я хочу, чтобы он действительно вписывался в полноэкранный режим.

3 ответа

Решение

Я сделал это, сделав приложение без границ, развернутое и установив его как Topmost. Вот прекрасный пример из CodeProject.

Как сказал один из комментаторов, замена Отключение Проводника и запуск вашего приложения может быть лучшим способом с точки зрения безопасности.

Если вы хотите заменить оболочку Windows (панель задач), вам придется изменить раздел реестра.

Изменение оболочки по умолчанию (все пользователи):

  1. Откройте regedit (меню "Пуск"> "Выполнить" и введите regedit)
  2. перейдите по ссылке: HKLM\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \Microsoft\Windows NT\CurrentVersion\Winlogon.
  3. Измените Shell с explorer.exe на путь к вашей программе и имя, например, c:\myKioskApp\Kiosk.exe

Изменение оболочки по умолчанию (только текущий пользователь):

  1. Откройте regedit (меню "Пуск"> "Выполнить" и введите regedit).
  2. перейдите по ссылке: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
  3. добавьте новое строковое значение (Edit > New > String Value) с именем shell. и задайте значение пути новой оболочки, например, c:\myKioskApp\Kiosk.exe
  4. Выйдите и войдите снова.

Вы можете скрыть панель задач, установив следующие свойства формы C#.

WindowState: развернутый FormBorderStyle: FixedDialog

В окне 7 (или, возможно, выше), используя FormWindowState.Maximized неверно, так как максимальный размер будет вычтен из высоты панели задач, но вы можете сделать это

this.WindowState = FormWindowState.Normal; // or default
this.FormBorderStyle = FormBorderStyle.None;
this.TopMost = true;

// do it here
this.Location = new Point(0,0);
var fullscreenSize = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
this.Size = fullscreenSize;
Другие вопросы по тегам