Что нового

Проверка полноэкранного режима для активного окна

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Функция проверяет работает ли программа (активное окно) в полноэкранном (Fullscreen) режиме или нет. Может быть полезна для обнаружения запуска игры. Возвращаемые значения:

0 - не полноэкранный режим
1 - полноэкранный режим

В случае возникновения ошибки функция возвращает 0 и устанавливает @error в 1.


Код:
#Include <WinAPI.au3>

HotKeySet('{F8}', '_HotKey')

While 1
	Sleep(10)
WEnd

Func _IsFullScreen()

	Local $hWnd = DllCall('user32.dll', 'hwnd', 'GetForegroundWindow')

	If (@error) Or ($hWnd[0] = 0) Then
		Return SetError(1, 0, 0)
	EndIf

	If (StringInStr(WinGetClassList($hWnd[0]), 'SHELLDLL_DefView') = 0) And (BitAND(WinGetState($hWnd[0]), 2) = 2) And (_WinAPI_GetClientWidth($hWnd[0]) = @DesktopWidth) And (_WinAPI_GetClientHeight($hWnd[0]) = @DesktopHeight) Then
		Return 1
	EndIf
	Return 0
EndFunc   ;==>_IsFullScreen

Func _HotKey()
	MsgBox(0, '', _IsFullScreen())
EndFunc   ;==>_HotKey
 

Денис

Знающий
Сообщения
35
Репутация
8
Это просто шедевр, очень сильно меня выручило.. ни как не мог определить RDP в full или нет, а тут такой подарок!
 
Верх