Size: a a a

2021 June 11

Ra

Ruslan aka DUDE in AutoIT RU
это не гуглится
источник

IL

IL'YA Loading… ████[... in AutoIT RU
ну ты же сказал что в примерах это есть
источник

IL

IL'YA Loading… ████[... in AutoIT RU
вот тут 2 примера из функций не понял что тут память освобождает
источник

Ra

Ruslan aka DUDE in AutoIT RU
вот пример функции https://www.autoitscript.com/autoit3/docs/libfunctions/_GDIPlus_BitmapCreateFromHBITMAP.htm
у которой в примерах

   _GDIPlus_GraphicsDispose($hGraphic)
   _GDIPlus_BitmapDispose($hBitmap)
   _WinAPI_DeleteObject($hBMP)
источник

IL

IL'YA Loading… ████[... in AutoIT RU
ну врятли кто то захочет ковыряться в моём говнокоде)
источник

Ra

Ruslan aka DUDE in AutoIT RU
бегло глянул
ничего такого не заметил
смотрю что сильно много файлов читаешь
источник

Ra

Ruslan aka DUDE in AutoIT RU
эти файлы маленькие?
источник

IL

IL'YA Loading… ████[... in AutoIT RU
В основном да самые большие логи по 280кб
источник

IL

IL'YA Loading… ████[... in AutoIT RU
Остальные по 1кб
источник

IL

IL'YA Loading… ████[... in AutoIT RU
Ну у меня в основном всё основано на стандартных примерах. Скажем так собрано из кусков чтобы получить желаемое...

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

Название процеса я храню в 1разовом файле который какраз считывается при проверке существует ли процесс
источник

IL

IL'YA Loading… ████[... in AutoIT RU
Одноразовый он потому что запись в нем стирает всё содержимое заменяя новым
источник

ox

osm x in AutoIT RU
источник

IL

IL'YA Loading… ████[... in AutoIT RU
хмм подскажи а почему при чтении файла построчно указание задержки вызывает зависание?
источник

IL

IL'YA Loading… ████[... in AutoIT RU
а хотя уже сам нашёл почему :)
нашёл с помощью ToolTip($str_line_find)

получается что добавление задержки даже 1мс очень замедляет чтение файла
источник

IL

IL'YA Loading… ████[... in AutoIT RU
а что надо сделать чтобы считать данные из консоли уже существующих процессов?

указание судествующего процесса и попытка считать с него данные через  StdoutRead
и
StderrRead
не прокатила
источник

IL

IL'YA Loading… ████[... in AutoIT RU
источник

F

Fedorazzz in AutoIT RU
Чтоб читать stdout надо чтоб процесс был дочерним. Т.е. ты должен запустить этот процесс через run() с параметрами $STDERR_CHILD + $STDOUT_CHILD.
источник

F

Fedorazzz in AutoIT RU
А построчное чтение файла само по себе не быстрое, я обычно через _filereadtoarray() читаю, а потом уже с массивом ковыряюсь. Но не факт что это оптимальный вариант, просто мне так удобней)
источник

IL

IL'YA Loading… ████[... in AutoIT RU
Суть в том что эти процессы и так запускались через рун с этими параметрами... но когда автоит например перезарустил то файлы эти надо как то считывать
источник

F

Fedorazzz in AutoIT RU
Вот тут погляди, может поможет
https://www.autoitscript.com/forum/topic/112372-command-prompt-automation/
источник