Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Yashied

Старожил


Сообщения: 206
Благодарности: 88

Профиль | Отправить PM | Цитировать


Как это сделать по "человечески" я не знаю, но вот тебе функция, которую я написал только что. Она возвращает 1, если приложение запущено в полноэкранном режиме (не максимизированно), в противном случае - 0. Только что проверил на F.E.A.R. 2 и S.T.A.L.K.E.R. Clear Sky в разных разрешениях. Работает.



Код: Выделить весь код
Func _IsFullScreen()

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

    $hWnd = $hWnd[0]

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

    If (StringInStr(WinGetClassList($hWnd), 'SHELLDLL_DefView') = 0) And (BitAND(WinGetState($hWnd), 2) = 2) And (_WinAPI_GetClientWidth($hWnd) = @DesktopWidth) And (_WinAPI_GetClientHeight($hWnd) = @DesktopHeight) Then
        Return 1
    EndIf
    Return 0
EndFunc   ;==>_IsFullScreen
Немножко поправил.

Последний раз редактировалось Yashied, 25-05-2009 в 01:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:00, 25-05-2009 | #2