Показать полную графическую версию : Мониторинг игрового процесса
Андрейwik
10-06-2021, 09:46
Всем привет!
Помогите пожалуйста написать bat скрипт, который будет мониторить процесс игрушки Napoleon.exe, находиться он по пути D:\Napoleon Total War\
При этом, если процесс живой, то формировать текстовый файл с реальным временем, в котором будет например циферка 1, если процесса нет, то 0
Очень хочу понять, когда ребенок запускал игру :)))
Заранее благодарю за помощь)
greg zakharov
10-06-2021, 11:21
Андрейwik, проще выставить журналирование для указанного экзешника: не придётся изобретать колесо сызнова. Также с помощью системных апплетов можно ограничить время на работу того или иного приложения.
Андрейwik
10-06-2021, 11:25
greg zakharov, через систему конечно проще, но хотелось бы попробовать именно скрипт :) а то я профан в этом
greg zakharov
10-06-2021, 11:32
Андрейwik, во-первых, сценарии (в частности бати) предназначены для других целей, как правило автоматизации, а системные оснастки - как раз для управления системой; во-вторых, извращаться с мониторингом процесса через батю всю равно не получится просто так, ибо придётся задействовать планировщик. Последний является частью "экосистемы" тех же оснасток винды. Так вот вопрос: для чего подпирать костылём здоровую ногу? Мало йода?
Андрейwik
10-06-2021, 11:36
greg zakharov, так я и хочу этот скрипт поставить в планировщик. Мне вот даже самому интересно как это будет работать. По этому и прошу помощи )
greg zakharov
10-06-2021, 11:40
так я и хочу этот скрипт поставить в планировщик.Что вы не читаете внимательно написанное, это понятно. Вы можете ответить для чего вам данный костыль? Глас разума взывает к использованию оснастки журналирования.
Андрейwik
10-06-2021, 11:49
greg zakharov, это будет некой автоматизацией, чтоб уками ни куда не лазить. А так можно просто открыть папку с логами и посмотреть когда программа была запущена, а когда нет. Может быть это и костыль, но мне кажется этот скрипт будет крутой штукой конкретно для меня. Если вам не сложно, могли бы Вы мне его предоставить?
Очень хочу понять, когда ребенок запускал игру »
во-первых что-то темните
во-вторых проблема так не решается
вот, например код, мониторит каждые 5 сек на появление процесса "Calculator.exe" и в случае успеха запишет время в файл рядом с собой и закроется
@echo off
set "p=Calculator.exe"
cmd /c for /l %%i in () do @tasklist /fi "imagename eq %p%"^|findstr /v :^&^& (^>"file.txt" (echo %date%_%time%)^& exit /b)^&^>nul timeout /t 5 /nobreak
теперь уже тут
но:
во-первых этот код должен работать всегда и у него есть видимое окно и у вас вероятно пойдут новые вопросы, как сделать чтобы окна не было видно (а это достигается только с помощью других языков или утилит) как записывать в файл чтобы не увидеть это
во-вторых при запущенной игре (в большинстве своем) многие процессы отрубаются для разгрузки процессора и этот может оказаться в их числе или не успеет записать в течении 5 сек, можно поставить и одну, но это уже нагрузка на процессор принудительная и будете делать выбор что более жалко - ребенок в игру поиграет или процессор сгорит. И это еще не все проблемы, там может дело и антивирусника коснуться и автозагрузки и прав ...
Андрейwik
10-06-2021, 12:10
Я нашел у вас на форуме скрипт запущенного процесса блокнота, но я не понимаю. Как его реализовать под мой запрос!? (проверка запущенной игры на диске D:\ и формирование файла- если работает то 1, если нет то 0)
@Echo Off
SetLocal EnableExtensions
Set ProcessName=notepad.exe
TaskList /FI "ImageName EQ %ProcessName%" | Find /I "%ProcessName%"
If %ErrorLevel% NEQ 0 Start %windir%\%ProcessName%
Present = False
For Each Process In Processes
Present = (UCase(Process.Name) = UCase(Exe))
' MsgBox Process.Name + vbCrLf + Exe
Next
Set WS = CreateObject("WScript.Shell")
If Not Present Then
WS.Exec PathExe + "\" + Exe
End If
End If
Что вы не читаете внимательно написанное, это понятно »
так и есть, вроде как разговор со стеной.
DJ Mogarych
10-06-2021, 16:09
Андрейwik, если игра запущена, что у вас выводит команда
powershell -command "get-process |? path -Match 'Napoleon'"
?
Сегодня прямо День мониторинга избранного процесса. «Это просто праздник какой-то!»™ :).
P.S. А что — может заведём по такому случаю :lol:?
DJ Mogarych
10-06-2021, 22:20
Отличная мысль!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.