Скрыть панель задач и кнопку запуска в 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 для выполнения других действий, таких как установка позиции, минимизация или максимизация окна, которое не находится в вашей программе.
