|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Узнать запущена ли игра на компьютере ... |
|
[решено] Узнать запущена ли игра на компьютере ...
|
Ветеран Сообщения: 553 |
Профиль | Отправить PM | Цитировать Как мне с помощью AutoIt узнать запущена ли на компьютере (2D, 3D) игра ? (я подозреваю нужно обратиться к библиотеке DX9-10...)
Пасибо за внимание . |
|
Отправлено: 00:49, 25-05-2009 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать FlatX007, я ноль в этом. если не трудно сделайте как я прошу. Спасибо
|
------- Отправлено: 19:27, 28-05-2009 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 553
|
Профиль | Отправить 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 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать FlatX007, чудненько. А можете прикрутить список исключений полноэкранных прог? Пусть все же LA и тому подобные плеера работают )
|
------- Отправлено: 17:56, 02-06-2009 | #13 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать FlatX007, вы бы лучше новым сообщением писали. И благодарность бы получили и народ бы в курсе был того что вы поправили. А то я сюда сейчас чисто случайно зашел. Спасибо. Буду тестить.
FlatX007, проверил сейчас на предмет исключения плеера LA. Не работает, так как его название в диспетчере имеет вид: название фильма - Light Alloy. Следовательно при разных фильмах скрипт не верно обрабатывает исключение. Можно ли сделать так чтобы скрипт не конкретно цеплялся за имя программы в диспетчере, а допустим если есть хоть часть из названия программы из диспетчера в спсике исключений то он уже не закрывал процесс? Или как то еще? |
------- Отправлено: 01:39, 08-06-2009 | #14 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
узнать что делали в твоём компьютере в твоё отсутствие? | Terry | Хочу все знать | 5 | 25-01-2010 15:21 | |
Службы - [решено] Сеть отсутствует или не запущена | mti_ | Microsoft Windows 2000/XP | 2 | 22-05-2009 17:40 | |
Использование - [решено] На конечном компьютере не запущена служба учета лицензий | SilentGeorge | Лицензирование продуктов Microsoft | 5 | 12-05-2009 08:09 | |
Интерфейс - [решено] Сеть отсутствует или не запущена | trager | Microsoft Windows 2000/XP | 5 | 24-04-2009 23:04 | |
Ошибка - [решено] Свойства учетной записи: ошибка "Служба рабочей станции не запущена" | zeroua | Microsoft Windows 2000/XP | 6 | 13-03-2009 13:56 |
|