Скрыть панель задач с помощью C#
Я работаю под управлением Windows XP 64 бит. Я хочу скрыть панель задач при запуске приложения.
Я пробовал коды с помощью поиска в Интернете. Во всех них скрывается панель задач. Но проблема в том, что когда я открываю блокнот и максимизирую его, на самом деле он не отображается на весь экран. Потому что пространство, где была панель задач, все еще заблокировано пустым пространством. Я хочу, чтобы он действительно вписывался в полноэкранный режим.
3 ответа
Я сделал это, сделав приложение без границ, развернутое и установив его как Topmost. Вот прекрасный пример из CodeProject.
Как сказал один из комментаторов, замена Отключение Проводника и запуск вашего приложения может быть лучшим способом с точки зрения безопасности.
Если вы хотите заменить оболочку Windows (панель задач), вам придется изменить раздел реестра.
Изменение оболочки по умолчанию (все пользователи):
- Откройте regedit (меню "Пуск"> "Выполнить" и введите regedit)
- перейдите по ссылке: HKLM\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \Microsoft\Windows NT\CurrentVersion\Winlogon.
- Измените Shell с explorer.exe на путь к вашей программе и имя, например, c:\myKioskApp\Kiosk.exe
Изменение оболочки по умолчанию (только текущий пользователь):
- Откройте regedit (меню "Пуск"> "Выполнить" и введите regedit).
- перейдите по ссылке: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
- добавьте новое строковое значение (Edit > New > String Value) с именем shell. и задайте значение пути новой оболочки, например, c:\myKioskApp\Kiosk.exe
- Выйдите и войдите снова.
Вы можете скрыть панель задач, установив следующие свойства формы 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;