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

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

Аватара для FlatX007

Ветеран


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

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


Особо строго несудите ...автоитом занимаюсь недавно мож чего незнаю сделал как умел ... если что лишнее модератор поправьте

У меня работает проверял!
А простите исправил - сделал бесконечный цикл без паузы у меня в акурат скрипт проц загрузил на 50%

Код: Выделить весь код
;~ #NoTrayIcon

If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)

#include <WinAPI.au3>

; СПИСОК ИГР ИСКЛЮЧЕНИЙ. Точное название "окна" игры списываем значение из диспечера задачь вкладка - приложения
Dim $My_Title[3]
$My_Title[0] = "Left 4 Dead"
$My_Title[1] = "FlatOut 2"
$My_Title[2] = "DiRT"
;~ $My_Title[3] = "моя игра 1"
;~ $My_Title[4] = "моя игра 2"

While 1
    Sleep(1000)
    If _IsFullScreen() = 1 Then
        Sleep(3000)

        $WinList = WinList("")
        For $iWin = 0 To $WinList[0][0]
            If _IsFullScreen() = 1 Then
                If WinActive($WinList[$iWin][0]) Then
                    Select
                        Case $My_Title[0] = $WinList[$iWin][0]
                            ContinueLoop

                        Case $My_Title[1] = $WinList[$iWin][0]
                            ContinueLoop

                        Case $My_Title[2] = $WinList[$iWin][0]
                            ContinueLoop

;~                      Case $My_Title[3] = $WinList[$iWin][0]
;~                          ContinueLoop

;~                      Case $My_Title[4] = $WinList[$iWin][0]
;~                          ContinueLoop

                        Case 0 = 0
                            If _IsFullScreen() = 1 Then
                                WinKill($WinList[$iWin][0])
                                ; Сообщение для примера :)
                                MsgBox(48,"Ого!","Запуск этой игры запрёщён злым админюгой это компа!",10)
                            EndIf
                    EndSelect
                EndIf
            EndIf
        Next
    EndIf
WEnd

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

Последний раз редактировалось FlatX007, 28-05-2009 в 22:32. Причина: подправил

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

Отправлено: 19:53, 28-05-2009 | #12