Как хорошо использовать WinAPI для управления полноэкранным режимом в окне Windows?Управление в полноэкранном режиме с помощью WinAPI
Вот моя проблема:
У меня есть приложение, которое должно быть на весь экран. Я использую ChangeDisplaySettings() функции (winuser.h) со значением CDS_FULLSCREEN поместить мое окно в полноэкранный режим когда принимают WM_ACTIVATE
с (wParam == WA_ACTIVE || wParam == WA_CLICKACTIVE)
:
DEVMODE dmScreenSettings;
memset (&dmScreenSettings, 0, sizeof (dmScreenSettings));
dmScreenSettings.dmSize = sizeof (dmScreenSettings);
dmScreenSettings.dmPelsWidth = 1280;
dmScreenSettings.dmPelsHeight = 720;
dmScreenSettings.dmBitsPerPel = 32;
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN);
Я использую ту же функцию со значением CDS_RESET, чтобы положить его обратно в «нормальном» режиме когда принимают WM_ACTIVATE
с (wParam == WA_INACTIVE)
:
ChangeDisplaySettings(&dmScreenSettings, CDS_RESET);
когда я первый запуск моего приложения, то в полноэкранном режиме. Я использую ALT + TAB для переключения на другое приложение на своем компьютере. Мое приложение сводилось к минимуму. Это работает хорошо. Затем я возвращаюсь к своему приложению, и он появляется в полноэкранном режиме. Опять же, он работает хорошо. Но если я хочу еще раз переключиться на другое приложение, мои статуты приложений в полноэкранном режиме скрывают все остальные приложения на моем компьютере.
NB: Мое окно создается с помощью функции CreateWindowEx() со следующими параметрами:
DWORD dwExStyle = WS_EX_TOPMOST;
DWORD dwStyle = WS_VISIBLE | WS_POPUP;
1) Есть еще один способ, чем использование ChangeDisplaySettings(), чтобы изменить полноэкранный режим?
2) Использую ли я его хорошие значения?
3) Есть ли что-нибудь, что я забыл?
Заранее благодарим за все ваши ответы. С уважением,
Просто для удовольствия, что происходит, когда вы нажимаете F11 на клавиатуре? – JustBoo
@JustBoo: просто ничего ... Моя цель - заставить мое приложение находиться в полноэкранном режиме, так как оно активировано. Если я нажму F11, когда мое приложение вставлено ... Это уже в полноэкранном режиме ... Таким образом, клавиша F11 не действует. –
См. Новое изменение ниже. Это должно позволить вам увидеть, в каком состоянии находится окно, и соответственно отрегулировать (свернуть). С надеждой. – JustBoo