{
Make your application like a game. Full Screen.
Disable all of the system keys.
}procedure TForm1.FormCreate(Sender: TObject);
var
HTaskbar: HWND;
OldVal: LongInt;
begintry// Find handle of TASKBAR
HTaskBar := FindWindow('Shell_TrayWnd', nil);
// Turn SYSTEM KEYS off, Only Win 95/98/ME
SystemParametersInfo(97, Word(True), @OldVal, 0);
// Disable the taskbar
EnableWindow(HTaskBar, False);
// Hide the taskbar
ShowWindow(HTaskbar, SW_HIDE);
finallywith Form1 dobegin
BorderStyle := bsNone;
FormStyle := fsStayOnTop;
Left := 0;
Top := 0;
Height := Screen.Height;
Width := Screen.Width;
end;
endend;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
HTaskbar: HWND;
OldVal: LongInt;
begin//Find handle of TASKBAR
HTaskBar := FindWindow('Shell_TrayWnd', nil);
//Turn SYSTEM KEYS Back ON, Only Win 95/98/ME
SystemParametersInfo(97, Word(False), @OldVal, 0);
//Enable the taskbar
EnableWindow(HTaskBar, True);
//Show the taskbar
ShowWindow(HTaskbar, SW_SHOW);
end;
Приведенный код предназначен для создания приложения на Windows в полноэкранном режиме и отключения системных клавиш на Windows 95/98/ME. Процедура FormCreate отвечает за настройку формы в полноэкранном режиме, отключая панель задач и скрывая ее, а также отключая системные клавиши. Процедура FormClose используется для восстановления оригинального состояния при закрытии формы.
Разбивка каждого раздела:
FormCreate
Найдет handle панели задачи с помощью FindWindow.
Отключит панель задачи, установив ее стиль окна в скрытый (EnableWindow и ShowWindow).
Установит системные параметры для отключения системных клавиш на Windows 95/98/ME.
Настроит форму:
Установит стиль рамки в none (BorderStyle = bsNone).
Установит позицию формы, чтобы она оставалась над другими окнами (FormStyle = fsStayOnTop).
Установит позицию и размер формы, соответствующие разрешению экрана.
FormClose
Найдет handle панели задачи снова с помощью FindWindow.
Восстановит системные параметры для включения системных клавиш на Windows 95/98/ME.
Включит панель задачи, установив ее стиль окна обратно в нормальный (EnableWindow).
Показывает панель задачи снова (ShowWindow).
Обратите внимание:
Код работает только на Windows 95/98/ME, поскольку он зависит от конкретных системных параметров и API-запросов, которые не доступны в новых версиях Windows.
Функция FindWindow используется для поиска handle панели задачи. Эта функция может не работать, если панель задачи не видна или была настроена пользователем.
Код не предоставляет способ программного выхода из полноэкранного режима. Когда форма будет закрыта, системные клавиши снова будут включены.
Альтернативные решения:
Используйте ShowModal вместо создания не-модальной формы. Это автоматически отключит системные клавиши, пока форма будет отображаться.
Используйте третьестороннюю библиотеку или фреймворк, который предоставляет встроенную поддержку полноэкранного режима и настройки окон.
Реализуйте custom window handling с помощью API-запросов Windows, таких как SetWindowPos и ShowWindow. Это потребует больше кода и знаний о программировании Windows.
В целом, предоставленный код - это старая решение для создания полноэкранного приложения на более старых версиях Windows. Он может не быть подходящим для современных приложений или новых версий Windows.
Статья описывает способ создания полноэкранной формы в приложении Delphi, которая блокирует системные клавиши и скрывает панель задач.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.