1

Тема: Закрытие процессов и запуск

В общем то даж не знаю с чего начать, но нужно (игра Motr Online )
нужен скрипт или же батник какой то который закроет все процессы которые были запущенны "updater.ехе" и запуск нового лаунчера.
В итоге должно выйти при клике
Сняты процессы
Выполнена проверка что процессов нет
Если нет запустить лаунчер.

2

Re: Закрытие процессов и запуск

bravarchi пишет:

все процессы которые были запущенны "updater.ехе"

Здесь нужно уточнить: все процессы с именем "updater.ехе", или действительно все процессы, запущенные процессом "updater.ехе", и имена у них другие.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: bravarchi, 2014-01-10 02:59:20)

Re: Закрытие процессов и запуск

у них имена другие, ruro.exe и ruro_ro.exe
а проблемма собственно в том что сам updater.exe запускает launcher.exe который в свою очередь запускает ruro.exe и ruro_ro.exe. Так вот Руро и руро_ро убить нельзя запускается сново, лаунчер убиваешь просто вылетает ошибка и заново игру не запустить пока не снимешь задачу. Собственно нужно что бы убивало 2 процесса сразу, после завершения руро_ро лаунчер сам закрывается.

4

Re: Закрытие процессов и запуск

Честно говоря, ничего не понял.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: Drugoy, 2014-01-10 12:08:51)

Re: Закрытие процессов и запуск

Я так понял, что если не убить ruro.exe и ruro_ro.exe вместе, а убить только один, то его тут же снова запустит другой (или launcher.exe, который увидит, что пропал один из процессов и это не ОК, а вот если б пропали сразу 2 - то это для него ОК).
Команда Process.

6

Re: Закрытие процессов и запуск

Доброго времени суток! Искал подходящую тему под мои вопросы, решил их выложить тут.
Являюсь админом Call of Duty TeknoMW3 в LAN  сети, надоели читеры, сил нет. Эта версия игры не имеет античита, хотелось бы хоть как-то бороться с нечестными игроками. Очень нужен скрипт(ы), который вложу в обновления игры по сети, которые помогут с ними бороться. Я сам в написании скриптов полный чайник, поэтому ОЧЕНЬ рассчитываю на вашу помощь.
Какие нужны скрипты:
1. Скрипт, который прекратит процесс игры iw5mp.exe при запуске чита, например, Mw3UltUnlockerv2 PUBLIC.exe или Call_Of_Duty_Modern_Warfare_3_TRN-dEViATED.exe (и т.д., их таких в моей базе 150 штук, все разные). Хотелось бы все  эти ехе читов внести в один скрипт, так как 150 ехе в папке с игрой будут заметными и игроки поудаляют их самостоятельно. В данном скрипте хотелось бы увидеть возможность отправки информации админу (почтовый ящик) о применении чита.

2. Скрипт (bat, cmd), который в наказание самостоятельно (с информационной табличкой игроку об предстоящем удалении) удалит запущенный чит с компьютера игрока и удалит папку Call of Duty Modern Warfare 3, которая расположена на диске C:\Call of Duty Modern Warfare 3
А это нужно для того, чтобы в следующий раз подумал, стоит ли применять чит, если после этого придётся качать снова игру весом в 19 ГБ, её устанавливать, так предусмотрен, инсталлятор, и заново настраивать.

Очень рассчитываю на вашу помощь. Помогите сделать мир лучше!

7 (изменено: YMP, 2015-01-10 09:57:58)

Re: Закрытие процессов и запуск

Сразу же возникает вопрос, каким образом этот скрипт будет запускаться. Попросите игроков это делать?

И что помешает им этот скрипт вместо этого просто удалить и забыть как страшный сон?

8

Re: Закрытие процессов и запуск

Запускать они его будут сами, не зная этого. Игра предусматривае инсталяцию с созданием ярлыка запуска на рабочем столе. Я сделал ехе, который замаскировал под настоящий (иконка, название), который запускает то, что мне нужно (внесу и ваш скрипт, который скомпилирую в ехе). А родные ехе запуска игры тоже замаскировал - удалил иконку и изменил название. Всё запускается и работает.

9

Re: Закрытие процессов и запуск

Ну, в простейшем варианте можно с какой-то периодичностью перебирать список процессов, проверяя их наличие. И совершать нужное действие в случае обнаружения.


#Persistent

process_list =
(
process1.exe
process2.exe
process3.exe
)

SetTimer, check_cheats, 10000   ; Периодичность 10 сек.

check_cheats:
    Loop, Parse, process_list, `n
    {
        Process, Exist, %A_LoopField%
        If ErrorLevel
        {
            Process, Close, iw5mp.exe
            MsgBox, Cheat detected!
            ExitApp
        }
    }
Return

10

Re: Закрытие процессов и запуск

В скриптах полный полный чайник. Ваш скрипт vbs?

11

Re: Закрытие процессов и запуск

Нет, AutoHotkey.

12

Re: Закрытие процессов и запуск

YMP, большое спасибо за участие. Но при компилировании сообщает об ошибке в строке 21 (строка с знаком }  ), а при запуске ехе выдаёт ошибку в строке 24 (DinamicWrapperX). Помогите, пожалуйста.

13

Re: Закрытие процессов и запуск

Это вы лишнее скопировали. DynamicWrapperX у меня в подписи, а не в коде.

14

Re: Закрытие процессов и запуск

YMP, большое спасибо, о великий кодер! Всё работает, спасибо! После отработки на наличие чита ваш скрипт нужно снова запускать принудительно. А возможно ли подкорректировать скрипт, чтобы скрипт работал в то время, когда процесс iw5mp.exe активен? Вы меня извините, но можно ли в скрипт функцию на удаление чита и папки с игрой?

15

Re: Закрытие процессов и запуск

Но вы же говорили, что скрипт вместе с игрой будет запускаться. Если скрипт закрыл процесс игры, то зачем ему оставаться работающим? Тем более, если он удалит игру.

Удаление папки я прописал. Не знаю, возможно, есть способы помешать её удалению. Я её делал только для чтения, скрытой и системной, но это не помешало. Тем не менее, я не в курсе всех возможных уловок.

Чтобы удалить чит, надо узнавать, где расположен его файл. Действительно ли надо с этим возиться, ведь восстановить чит игроку несложно будет?


#Persistent

process_list =
(
process1.exe
process2.exe
process3.exe
)

game_process = iw5pm.exe
game_folder = C:\Call of Duty Modern Warfare 3

SetTimer, check_cheats, 10000   ; Периодичность 10 сек.

check_cheats:
    Loop, Parse, process_list, `n
    {
        Process, Exist, %A_LoopField%
        If ErrorLevel
        {
            Process, Close, %game_process%
            If ErrorLevel <> 0  ; Если процесс закрылся, удалить папку.
            {
                FileRemoveDir, %game_folder%, 1
            }
            MsgBox, Cheat detected!
            ExitApp
        }
    }
Return

16

Re: Закрытие процессов и запуск

Спасибо большое за Ваш труд. Всё-таки мир не без добрых людей! Очень рад, что есть такие люди!

17

Re: Закрытие процессов и запуск

YMP, разрешите Вас снова напрячь. Папка с игрой так и не удалилась, к сожалению. И появилась ещё одна проблема в защите нужных мне запущенных процессов. Другими словами, чтобы игрок самостоятельно не отключал ехе, которые благодаря Вам появились (защита от читов). Я очень расчитывал на процесс terminate в vbs, но он не работает.

RuleApp = "iw5mp.exe"
AntiChat = "antycheat.exe"          (это ехе из Вашего скрипта ahk)
strTimer = 100
Set objWMIService = GetObject("winmgmts:")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("select * from __instancecreationevent " & " within " & strTimer & " where TargetInstance isa 'Win32_Process' AND TargetInstance.Name='"& RuleApp &"'")
Do
  Set objLatestProcess = colMonitoredProcesses.NextEvent
  If objWMIService.ExecQuery ("Select * From Win32_Process Where Name ='"& AntiChat &"'").Count=0 Then
    MsgBox RuleApp & " остановлен из-за отключенного античита" & AntiChat
    objLatestProcess.TargetInstance.Terminate
  End If
Loop

Пробовал Ваш скрипт переделать методом "научного тыка" (вместо cheats использовать true), но ничего не получилось.

#Persistent

process_list =
(
antycheat.exe
)

game_process = iw5pm.exe

SetTimer, check_true, 10000

check_true:
    Loop, Parse, process_list, `n
    {
        Process, Exist, %A_LoopField%
        If ErrorLevel
        {
            Process, Close, %game_process%
            If ErrorLevel
            {
                FileRemoveDir, %game_folder%, 1
            }
            MsgBox, Удалён antycheat! Верните его в папку с игрой!
            ExitApp
        }
    }
Return

Помогите, пожалуйста, в решении проблемы. Буду очень благодарен.

18

Re: Закрытие процессов и запуск

Если античит запускается из папки с игрой, то он не сможет её удалить — Windows этого не позволит. Т.е. удаление может начаться с каких-то других файлов, но как только дойдёт до экзешника, который в данный момент работает, или до каких-то других файлов, которые в данный момент используются, удаление прервётся. Так что тут надо вам продумать алгоритм действий, чтобы этого "самоудаления" избежать.

Второй вопрос: а кто будет следить за тем, кто следит за сохранностью античита? Разве тут не получается бесконечная последовательность следящих?

19

Re: Закрытие процессов и запуск

Ехе Вашего скрипта заметен. Он выдаёт информационную табличку в случае обнаружения чита. Игрок запомнит из этой таблички название ехе, который остановил игровой процесс и начнёт его искать в папке с игрой. Другими словами, маскируй его, не маскируй, его название всё равно будет известно. А то, что я хочу, сделать ещё один ехе, который будет контролировать все ехе, задействованные в игре. С неприметным названием и с табличкой с общими фразами: "Восстановите первоначальные файлы" или что-то однотипное. Античит, выполненный из Вашего скрипта нужно будет обновлять. Поэтому сейчас ищу решение о написании скрипта обновления через сеть. Поэтому нужен контролирующий ехе, который будет беречь нужные ехе.
а по поводу удаления папки. Действительно Ваш ехе находится в папке с игрой. Я об этом тоже подумал, поэтому попробовал изменить наказание за применение чита. В папке C:\Call of Duty Modern Warfare 3 есть папка dw, в которой хранится статистика игрока, которой он дорожит (там всякие титулы, уровни престижей и т.д.), так вот в Вашем скрипте с названием удаляемой папки дописал ещё и эту папку C:\Call of Duty Modern Warfare 3\dw, но она тоже не удалилась.

20

Re: Закрытие процессов и запуск

Если имеете в виду заголовок диалогового окна, то его можно задать какой угодно. Так что из сообщения не будет видно, от какого оно экзешника.

Так что должен делать этот следящий скрипт при своём запуске и в дальнейшем?

"Дописали" папку — это как? Если добавили к той, то на той папке и могло прерваться удаление, не дойдя до этой.

21

Re: Закрытие процессов и запуск

Папку дописал вот так C:\Call of Duty Modern Warfare 3\dw
Но мне всё равно нужен будет скрипт, контролирующий запущенных нужных ехе, который будет отключать игру iw5mp.exe, когда будет отключён хоть один из нужных ехе (удачным было решение на Вашем пример с функцией process_list . Я бы уже потом сам добавлял в будущем всё, что нужно. Такое решение нужно для будущего. Автообновление поможет мне потом всё время модернизировать защиту игры. Другими словами хочу быть на шаг впереди.

22

Re: Закрытие процессов и запуск

Следящий скрипт должен следить за тем, запущены ли, antycheat.exe, update.exe, teknogods.exe, singl_teknodods.exe, fm.exe, fs.exe). И этот список в будущем будет увеличиваться, я так думаю. Раздам игровой клиент игрокам и потом через автообновление буду модернизировать защиту. Вот такие у меня планы. Лишь бы Вы мне помогли. Не бросили бы на полпути.

23

Re: Закрытие процессов и запуск

Следящий скрипт должен следить за тем, запущены ли, antycheat.exe, update.exe, teknogods.exe, singl_teknodods.exe, fm.exe, fs.exe). И этот список в будущем будет увеличиваться, я так думаю. Раздам игровой клиент игрокам и потом через автообновление буду модернизировать защиту. Вот такие у меня планы. Лишь бы Вы мне помогли. Не бросили бы на полпути.

24

Re: Закрытие процессов и запуск

Т.е. запускать их будет не он? Можно по аналогии с античитом проверять наличие этих процессов, только предпринимать действия не тогда, когда процесс обнаружен, а когда не обнаружен. Т.е. не при условии "If ErrorLevel", а при условии "If ErrorLevel = 0".

Почему не удаляется папка, мне сложно сказать. А вручную она удаляется?

25

Re: Закрытие процессов и запуск

А если они переименуют читы?
Мне кажется, что надо сравнивать все запущенные процессы с читами, по типу как это делают антивирусы.

26

Re: Закрытие процессов и запуск

А как они это делают?

27

Re: Закрытие процессов и запуск

Я думаю по коду.

28

Re: Закрытие процессов и запуск

Это будет следующим этапом развития сервера. Игроки на данный момент не будут знать, как это работает. На данные момент нужно решить поставленные задачи: скрипт, контролирующий запуск нужных мне ехе, удаление папки со статистикой (dw) и автообновление через сеть LAN.  Потом раздам игрокам новый клиент и к следующим задачам! Требуют уже новую версию игры.

29

Re: Закрытие процессов и запуск

YMP пишет:

Т.е. запускать их будет не он? Можно по аналогии с античитом проверять наличие этих процессов, только предпринимать действия не тогда, когда процесс обнаружен, а когда не обнаружен. Т.е. не при условии "If ErrorLevel", а при условии "If ErrorLevel = 0".

Почему не удаляется папка, мне сложно сказать. А вручную она удаляется?

Сейчас попробую и отпишусь. Заранее спасибо!

30

Re: Закрытие процессов и запуск

Malcev пишет:

Я думаю по коду.

Вот и я не в курсе.

31

Re: Закрытие процессов и запуск

YMP, не смог вовремя отписаться. Пробовал самостоятельно найти решение, не получилось. Да и вчера уже на работу заставил своё тело идти.
Столкнулся с проблемой. Может поможете? После отключения процесса игры (iw5mp.exe) остаётся активным окно приложения TeknoMW3. Я бы хотел, чтобы окно приложения после отключения игрового процесса (iw5mp.exe) закрывалось само. Просто в окне приложения есть кнопка запуска игры.
Не подскажете как это реализовать? Вы уж извините за мою назойливость.

32

Re: Закрытие процессов и запуск

Закрыть окно можно командой WinClose.

Извинений не надо. Для того и форум, чтобы одни спрашивали, а другие отвечали. Конечно, в границах своих знаний и возможностей. Т.к. тут не профессиональные программисты, а такие же самоделкины, как и вы.

33

Re: Закрытие процессов и запуск

YMP, не смог вовремя отписаться. Пробовал самостоятельно найти решение, не получилось. Да и вчера уже на работу заставил своё тело идти.
Столкнулся с проблемой. Может поможете? После отключения процесса игры (iw5mp.exe) остаётся активным окно приложения TeknoMW3. Я бы хотел, чтобы окно приложения после отключения игрового процесса (iw5mp.exe) закрывалось само. Просто в окне приложения есть кнопка запуска игры.
Не подскажете как это реализовать? Вы уж извините за мою назойливость.

34

Re: Закрытие процессов и запуск

YMP пишет:

Закрыть окно можно командой WinClose.

Извинений не надо. Для того и форум, чтобы одни спрашивали, а другие отвечали. Конечно, в границах своих знаний и возможностей. Т.к. тут не профессиональные программисты, а такие же самоделкины, как и вы.

А куда в Ваш скрипт вставить строку с этой командой?

35

Re: Закрытие процессов и запуск

То есть отключение игорового процесса (iw5mp.exe) с последующим закрытием окна процесса (WinClose).

36

Re: Закрытие процессов и запуск

Да. Но, видимо, это окно принадлежит другому процессу, раз само не закрывается после завершения iw5mp.exe.

37

Re: Закрытие процессов и запуск

Когда нажимаешь TeknoMW3.exe появляется это окно, на котором есть кнопка включения игры (запуск iw5mp.exe). При (Alt+Ctrl+Delete) во вкладке "Процессы" виден его процесс TeknoMW3.exe, а также видно во вкладке "Приложения" приложение TeknoMW3 (окно). Выходишь из игры - окно активно, но в процессах (Alt+Ctrl+Delete) этого процесса уже нет (остановлен TeknoMW3.exe).
Это окно приложения нужно, так как игра без него не запускается. Но оно мне не нужно активным после того, как игровой процесс (iw5mp.exe) не будет активным. А это нужно для того, чтобы игрок запускал игру снова с ярлыка рабочего стола, который я сделал сам и который запустит нужные мне ехе и данное окно приложения, на котором есть кнопочка запуска игры (iw5mp.exe).

38

Re: Закрытие процессов и запуск

ihoming пишет:

Выходишь из игры - окно активно, но в процессах (Alt+Ctrl+Delete) этого процесса уже нет (остановлен TeknoMW3.exe).

Странно. Не может окно висеть само по себе. При завершении процесса освобождается вся его память и используемые им объекты.

Можно это проверить. Запустите этот код как скрипт AutoHotkey. Сделайте нужное окно активным и нажмите F11. В диалоге должно показать имя процесса, владеющего окном.


F11::
    WinGet, ProcessName, ProcessName, A
    MsgBox, %ProcessName%
Return

39

Re: Закрытие процессов и запуск

YMP, спасибо за скрипт, без него бы не поверил, но процесс окна приложения TeknoMW3 называется explorer.exe. А как его отключить после отключения игроком игры (iw5mp.exe) или принудительного его отключения в следствии применения чита и блокирования игры Вашем скриптом?

40

Re: Закрытие процессов и запуск

Что-то не так. После принудительного отключения через (Alt+Ctrl+Delete) ручного отключения этого процесса пропали все значки рабочего стола, окно приложения одно осталось. После повторного нажатия F11 скрипт показал TeknoMW3.exe. Что получается, что при запуске TeknoMW3.exe открывается его окно с кнопкой, которая запускает iw5mp.exe. Теперь цель нового скрипта такова - при прекращении игрового процесса iw5mp.exe должен быть принудительно прекращён процесс TeknoMW3.exe для того, чтобы окно процесса закрылось.

41

Re: Закрытие процессов и запуск

Explorer.exe — это системный процесс, отвечает за значки рабочего стола, за окна папок в Проводнике. Возможно, при нажатии F11 активным был рабочий стол, а не целевое окно. Можно и процесс TeknoMW3.exe прекращать. А что, через WinClose окно не закрывается? Это более "цивилизованный" способ, чем остановка процесса.

42

Re: Закрытие процессов и запуск

А как тогда модернизировать Ваш скрипт с добавлением этой команды? Я тут опробование провёл. Изменил Ваш скрипт при неактивном процессе iw5mp.exe внёс отключение процесса TeknoMW3.exe. Процесс остановился, окно приложения закрылось. Добавил этот скрипт в батник запуска нужных мне процессов, который потом превратиться в ехе и который будет потом игрок запускать. При запуске батника всё сразу и отключилось даже незапустившись. В батнике писал:
start TeknoMW3.ee
timeout=100
start CloseTeknoMW3.exe (это ехе скрипта, который я изменил, назначение которого после неактивности процесса iw5mp.exe отключать TeknoMW3.exe.
Может я неправильно написал в батнике задержку во времени в 100 секунд в строке timeout=100?

43

Re: Закрытие процессов и запуск

Ну, видимо, при обнаружении процесса чита, закрывать процесс игры, а следом процесс этого окна или само окно.

44

Re: Закрытие процессов и запуск

А в один скрипт можно разве внести закрытие нескольких процессов при обнаружении чита или придётся несколько скриптов запускать? Вопрос с задержкой запуска решил командой пингования своего внутреннего IP в течении 100 секунд. Всё запускается, всё отрабатывает на УРА.

45

Re: Закрытие процессов и запуск

Можно, почему нет?

46

Re: Закрытие процессов и запуск

Очень прошу Вас в скрипт добавить эту возможность, я не пойму как прописать удаление нескольких программ одновременно. Заранее благодарю Вас! Бещ Вас бы вопрос так бы и не решился. На нашем сервере размещу информацию о том, что Вы внесли значительные новшества в усовершенствовании новой версии игры.

47

Re: Закрытие процессов и запуск

Не одновременно, а по очереди. Кстати, возможно, папка не удалялась, поскольку этот процесс продолжал работать. Если ещё есть какие-то процессы, запущенные из этой папки, то тоже будут мешать удалению.


#Persistent

process_list =
(
process1.exe
process2.exe
process3.exe
)

tekno_process = TeknoMW3.exe
game_process = iw5pm.exe
game_folder = C:\Call of Duty Modern Warfare 3

SetTimer, check_cheats, 10000   ; Периодичность 10 сек.

check_cheats:
    Loop, Parse, process_list, `n
    {
        Process, Exist, %A_LoopField%
        If ErrorLevel
        {
            Process, Close, %tekno_process%
            tekno_closed := ErrorLevel
            Process, Close, %game_process%
            If( ErrorLevel && tekno_closed )  ; Если оба процесса закрылись, удалить папку.
            {
                FileRemoveDir, %game_folder%, 1
            }
            MsgBox, Cheat detected!
            ExitApp
        }
    }
Return

48

Re: Закрытие процессов и запуск

Спасибо. Приду с работы и опробую. Отпишусь.

49

Re: Закрытие процессов и запуск

Фууух, наконец-то я на форуме. Ремонт дома делал. Жена от компьютера скалкой отгоняла. Господа, тут пришла в голову идея облагородить игру. Нужен скрипт, который будет информировать о включении и отключении определённых процессов. Например, при включении античита (anticheat.exe) появлялась информационная табличка "Включён античит", при исчезновении (закрытии) процесса - табличка "Античит отключён". Буду очень рад Вашей помощи!

50

Re: Закрытие процессов и запуск

Ну дык см. выше. Process, Exist, Имя-процесса-или-ПИД.

51

Re: Закрытие процессов и запуск

YMP пишет:

Ну дык см. выше. Process, Exist, Имя-процесса-или-ПИД.

Как-то не подумал. Сейчас наберусь наглости спросить ещё об одной помощи. Если конечно можно. У меня есть ещё один пункт модернизации игры. Очень хочу сделать автообновление файлов игры для игроков. Время от времени выкладываю новые камуфляжи персонажей и оружия. Каждый раз приходится расшаривать их в LAN сети. Игроки скачивают их и устанавливают у себя в игре. А также есть необходимость обновлять базу данных античита. Но это же можно автоматизировать! Хотелось бы иметь скрипт обновления файлов игры, который скомпилирую потом в ехе. Например, создам на игровом сервере папку Update с эталоном комплектации файлов и папок данной игры (файлы, папки с файлами) в директории 172.22.100.101  G:\mw3 multiplayer\Update. Игрок, запуская ехе, получает с заменой все обновления в директорию игры C:\Call of Duty mw3. Хотелось бы без его подтверждения на эту операцию, так как тем самым буду обновлять и базу данных античита.

Может моя просьба по плечу?

52

Re: Закрытие процессов и запуск

Автоматизировать это, конечно, можно, только я этим никогда не занимался. Так что каких-то готовых идей нет.

53

Re: Закрытие процессов и запуск

YMP пишет:

Автоматизировать это, конечно, можно, только я этим никогда не занимался. Так что каких-то готовых идей нет.

Большое Вам спасибо за оказанную помощь!

54 (изменено: ihoming, 2015-02-20 05:23:11)

Re: Закрытие процессов и запуск

YMP пишет:

Не одновременно, а по очереди. Кстати, возможно, папка не удалялась, поскольку этот процесс продолжал работать. Если ещё есть какие-то процессы, запущенные из этой папки, то тоже будут мешать удалению.


#Persistent

process_list =
(
process1.exe
process2.exe
process3.exe
)

tekno_process = TeknoMW3.exe
game_process = iw5pm.exe
game_folder = C:\Call of Duty Modern Warfare 3

SetTimer, check_cheats, 10000   ; Периодичность 10 сек.

check_cheats:
    Loop, Parse, process_list, `n
    {
        Process, Exist, %A_LoopField%
        If ErrorLevel
        {
            Process, Close, %tekno_process%
            tekno_closed := ErrorLevel
            Process, Close, %game_process%
            If( ErrorLevel && tekno_closed )  ; Если оба процесса закрылись, удалить папку.
            {
                FileRemoveDir, %game_folder%, 1
            }
            MsgBox, Cheat detected!
            ExitApp
        }
    }
Return

YMP, вчера провёл испытания. В результате папка с файлами игры не удаляется. Указывал другую папку - улетает только вмиг. И не закрывается окно с кнопкой запуска игры (TeknoMW3.exe). Я вот что подумал, а может батником (в последствии ехе) удалить всё содержимое папки:


@echo off
del *.*/q
exit

Я его размещу в корневой папке игры. Его активация приведёт к удалению всех папок и файлов в папке с игрой (останется только пустая папка от игры).
Но тогда придётся изменить скрипт. Как дописать строку с запуском батника (ехе) при обнаружении чита?

55

Re: Закрытие процессов и запуск

Запуск командой Run.


Run, file.bat

56

Re: Закрытие процессов и запуск

Тогда скрипт будет выглядеть так?


#Persistent

process_list =
(
process1.exe
process2.exe
process3.exe
)

SetTimer, check_cheats, 10000   ; Периодичность 10 сек.

check_cheats:
    Loop, Parse, process_list, `n
    {
        Process, Exist, %A_LoopField%
        If ErrorLevel
        {
            Process, Close, iw5mp.exe
            Run, file.bat
            MsgBox, Cheat detected!
            ExitApp
        }
    }
Return

57 (изменено: ihoming, 2015-02-20 08:22:14)

Re: Закрытие процессов и запуск

Я правильно строку разместил?

58

Re: Закрытие процессов и запуск

Правильно.

59

Re: Закрытие процессов и запуск

Я делаю успехи в AutoHotKey! Спасибо за ответ!

60 (изменено: ihoming, 2015-02-27 06:36:36)

Re: Закрытие процессов и запуск

YMP, прошу Вас ещё об одной просьбе. В автозапуск игры включил открытие программы LanGame, в которой есть кнопка"Старт" (кнопка находится не по центру монитора), которую нужно нажать для запуска этой программы. На данном script-coding.com нашёл столько ответов, что я в них запутался. Я потерялся в этих решениях. Моё огромное желание всё автоматизировать не нашло решение этой проблемы. Может поможете?

61

Re: Закрытие процессов и запуск

В автозапуск игры включил открытие программы LanGame, в которой есть кнопка"Старт" (кнопка находится не по центру монитора)

Так что, она просто висит на экране, окна у неё нет?

С АНК идёт программа WindowSpy. Нужно посмотреть, покажет ли она класс этой кнопки. Или, может быть, координаты у неё постоянные относительно чего-то, тогда можно сделать по ним щелчок мыши.

62

Re: Закрытие процессов и запуск

Окно есть, и кнопка в окне приложения есть. Просто я хочу чтобы эта кнопка "Старт" сама нажималась при помощи скрипта, который скомплилирую в ехе. Spy++ скачал, но не разобрался. В функции "Find" Spy++ показывает название этой кнопки, а что делать дальше, я не знаю. Потому как криворукий.

63

Re: Закрытие процессов и запуск

Нет, я про WindowSpy. В контестном меню любой иконки АНК-скрипта в трее он есть. Запустите, потом активируйте нужное окно, наведите мышь на кнопку. Покажет ли что-то в строке ClassNN? Ну и координаты кнопки должно показать.

64 (изменено: ihoming, 2015-02-27 08:58:18)

Re: Закрытие процессов и запуск

Спасибо большое за подсказку.
Данные из WindowSpy:
ClassNN: Button 1
Text: &Старт

А также известны стали координаты кнопки. А как это всё запустить? В AHK или bat?

65

Re: Закрытие процессов и запуск

По какому событию должна нажиматься кнопка? Если по активизации окна, то можно так:


WinWaitActive, LanGame
Sleep, 200
ControlSend, Button1, {Space}

66

Re: Закрытие процессов и запуск

Спасибо большое за помощь! С работы приду и проведу испытания.

67 (изменено: ihoming, 2015-02-27 17:01:06)

Re: Закрытие процессов и запуск

О, великий кодер! Скрипт не работает! Автоматически кнопка не нажимается.

68

Re: Закрытие процессов и запуск

Ну, это ни о чём не говорит. Опишите, что и как делаете. Куда мой код вставляли, как запускали. Покажите скриншот окна WindowSpy при активном окне LanGame. В общем, больше фактов.

69

Re: Закрытие процессов и запуск

YMP пишет:

Ну, это ни о чём не говорит. Опишите, что и как делаете. Куда мой код вставляли, как запускали. Покажите скриншот окна WindowSpy при активном окне LanGame. В общем, больше фактов.

В самом начале своего повествования я же говорил, что я криворукий. Всё работает, надо было только вначале запустить скрипт, а потом уже программу, а не наоборот, как делал я. Спасибо за скрипт! Теперь я почти всё автоматизировал, скоро благодарственные сриншоты выложу (это я про золотые буквы YMP на сервере). Вы не представляете, как мне помогли!