С помощью Windows API функций «FindWindow» и «ShowWindow» можно реализовать скрытие кнопки Пуск и Панель задач, а так же вернуть их в исходное состояние.
Функция «FindWindow» разыскивает данные о дескрипторе окна верхнего уровня, чье имя класса и имя окна соответствуют определенным строкам. Эта функция не ищет дочерние окна. А функция «ShowWindow» устанавливает состояние показа определяемого окна. Чтобы получить дескриптор окна, нужно знать имя класса, для панели задач это класс «Shell_TrayWnd», а для кнопки Пуск – «Button».
Создайте проект «Windows Form» в «Microsoft Visual Studio» и добавьте на главную форму вашего проекта четыре элемента управления «Button», у вас получится приведенный ниже пример.
Нажмите клавишу «F7», вы перейдете в редактор кода главной формы вашего проекта. Добавьте в код главной формы приведенный ниже листинг, класс «Taskbar», реализующий вызов Windows API функций «FindWindow» и «ShowWindow».
Если вы нажмете кнопки «Показать…», все вернется на свои места.
Стоит отметить, что при скрытии панели задач, кнопка «Пуск» остается видимой. Раньше в Windows 98/XP кнопка «Пуск» была частью панели задач и скрывалась вместе с ней. Соответственно, можно прятать только кнопку «панель задач», не трогая саму кнопку пуск, смотрите приведенный ниже пример.
Функция «FindWindow» разыскивает данные о дескрипторе окна верхнего уровня, чье имя класса и имя окна соответствуют определенным строкам. Эта функция не ищет дочерние окна. А функция «ShowWindow» устанавливает состояние показа определяемого окна. Чтобы получить дескриптор окна, нужно знать имя класса, для панели задач это класс «Shell_TrayWnd», а для кнопки Пуск – «Button».
Создайте проект «Windows Form» в «Microsoft Visual Studio» и добавьте на главную форму вашего проекта четыре элемента управления «Button», у вас получится приведенный ниже пример.
Нажмите клавишу «F7», вы перейдете в редактор кода главной формы вашего проекта. Добавьте в код главной формы приведенный ниже листинг, класс «Taskbar», реализующий вызов Windows API функций «FindWindow» и «ShowWindow».
public class Taskbar
{
//Функция FindWindow разыскивает данные о дескрипторе окна верхнего уровня,
//чье имя класса и имя окна соответствуют определенным строкам.
//Эта функция не ищет дочерние окна.
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int FindWindow(string className, string windowText);
//Функция ShowWindow устанавливает состояние показа определяемого окна.
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int ShowWindow(int hwnd, int command);
//Скрывает окно и активизирует другое окно.
private const int SW_HIDE = 0;
//Активизирует окно и отображает его текущие размеры и позицию.
private const int SW_SHOW = 1;
protected static int Handle
{
get
{
//Получаем дескриптор панели задач.
return FindWindow("Shell_TrayWnd", "");
}
}
protected static int StartHandle
{
get
{
// Получаем дескриптор кнопки Пуск.
//Для Windows на Русском.
return FindWindow("Button", "Пуск");
//Для Windows на Английском.
//return FindWindow("Button", "Start");
}
}
private Taskbar()
{
}
public static void Show_Taskbar()
{
//Показываем панель задач.
ShowWindow(Handle, SW_SHOW);
}
public static void Show_StartButton()
{
//Показываем кнопку Пуск
ShowWindow(StartHandle, SW_SHOW);
}
public static void Hide_Taskbar()
{
//Скрываем панель задач.
ShowWindow(Handle, SW_HIDE);
}
public static void Hide_StartButton()
{
//Скрываем кнопку Пуск.
ShowWindow(StartHandle, SW_HIDE);
}
} Перейдите в конструктор главной формы и сделайте двойной клик левой клавишей мыши по элементу управления «button1». Вы перейдете в редактор кода с автоматической установкой курсора в созданном методе «button1_Click», события «Click», возникающего при нажатии на кнопку. Выполните эти действия для каждого элемента управления «button» и добавьте приведенные ниже методы в соответствии с элементами управления.private void button1_Click(object sender, EventArgs e)
{
Taskbar.Hide_Taskbar();
}
private void button2_Click(object sender, EventArgs e)
{
Taskbar.Hide_StartButton();
}
private void button3_Click(object sender, EventArgs e)
{
Taskbar.Show_Taskbar();
}
private void button4_Click(object sender, EventArgs e)
{
Taskbar.Show_StartButton();
} Запустите проект, нажав на клавишу «F5». После успешной компиляции и запуска вашего проекта у вас откроется главная форма вашего проекта, нажмите поочередно кнопки «Скрыть панель задач» и «Скрыть кнопку Пуск». У вас скроется панель задач и кнопка «Пуск», как показано на скриншоте ниже.Если вы нажмете кнопки «Показать…», все вернется на свои места.
Стоит отметить, что при скрытии панели задач, кнопка «Пуск» остается видимой. Раньше в Windows 98/XP кнопка «Пуск» была частью панели задач и скрывалась вместе с ней. Соответственно, можно прятать только кнопку «панель задач», не трогая саму кнопку пуск, смотрите приведенный ниже пример.







Комментариев нет:
Отправить комментарий
Большая просьба, не писать в комментариях всякую ерунду не по теме!