Особо строго несудите ...автоитом занимаюсь недавно мож чего незнаю сделал как умел ... если что лишнее модератор поправьте
У меня работает проверял!
А простите исправил - сделал бесконечный цикл без паузы у меня в акурат скрипт проц загрузил на 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