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

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

Источник: http://csharphelper.com/blog/2016/02/hide-the-taskbar-and-start-button-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector