Скрыть панель задач и кнопку запуска в C#
В этой программе используется множество функций API. Загрузите пример, чтобы узнать, как они объявлены.
Когда запускается пример программы, он использует следующий код, чтобы скрыть панель задач и кнопку запуска.
// Рукоятка окна панели задач. private IntPtr TaskbarHWnd, StartButtonHWnd; // Скрыть панель задач и кнопку запуска. private void Form1_Load(object sender, EventArgs e) { // Получаем дескрипторы окна панели задач и кнопки запуска. TaskbarHWnd = FindWindow("Shell_traywnd", ""); StartButtonHWnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, (IntPtr)0xC017, null); // Скрыть панель задач и кнопку запуска. SetWindowPos(TaskbarHWnd, IntPtr.Zero, 0, 0, 0, 0, SetWindowPosFlags.SWP_HIDEWINDOW); SetWindowPos(StartButtonHWnd, IntPtr.Zero, 0, 0, 0, 0, SetWindowPosFlags.SWP_HIDEWINDOW); // Максимизация. this.Bounds = Screen.PrimaryScreen.Bounds; }
Обработчик события Load формы использует функцию API FindWindow, чтобы найти окно с именем Shell_traywnd, окно панели задач. Затем он использует функцию API FindWindowEx для поиска окна 0xC017, кнопки запуска. Он сохраняет дескрипторы окон для этих окон в переменных класса.
Далее код использует функцию API SetWindowPos, чтобы скрыть оба этих окна. Это приведет к исчезновению кнопки панели задач и запуска.
Если вы теперь максимизируете форму, она не будет охватывать область, в которой была бы панель задач, если бы она присутствовала. Обработчик событий Load формы заканчивается, устанавливая границы формы в соответствии с границами основного экрана, который будет включать область, в которой должна находиться панель задач.
Если вы скрываете панель задач и кнопку запуска, обязательно верните их font>, когда вы закончите, чтобы пользователь мог их использовать. В этом примере это выполняется в следующем обработчике событий FormClosing.
// Восстановить панель задач и кнопку запуска. private void Form1_FormClosing(object sender, FormClosingEventArgs e) { SetWindowPos(TaskbarHWnd, IntPtr.Zero, 0, 0, 0, 0, SetWindowPosFlags.SWP_SHOWWINDOW); SetWindowPos(StartButtonHWnd, IntPtr.Zero, 0, 0, 0, 0, SetWindowPosFlags.SWP_HIDEWINDOW); }
Этот код использует функцию API SetWindowPos, чтобы отобразить панель задач и кнопку запуска.
Вы можете использовать SetWindowPos для выполнения других действий, таких как установка позиции, минимизация или максимизация окна, которое не находится в вашей программе.