[win 2k/xp]Как настроить захват окон консольных приложений?

durka82

Программы могут запускать консольные приложения (например, программы установки).
Такие приложения, отработав, закрываются.
Как посмотреть их вывод? Или как настроить, чтобы они не закрывались?

Dasar

Захват кем?

durka82

Мною

durka82

Ну или приложением, которое сохраняло бы выводы всех консолей...

a10063

добавить pause?

durka82

Для этого надо найти соответствующий командный файл. И даже если он найдется, мб проблемы с его модификацией (точнее с подменой модифицированным файлом оригинального)

Dasar

Простого решения, на первый взгляд, нет.

a10063

а как в линухе нельзя команду написать, типа "ls; read"?
конечно, cmd - не консоль, не факт, что там это есть

Dasar

на сколько я понял - эти проги запускаются из под других процессов, а не из под консоли (cmd).

a10063

я тоже так понял, но думал (видимо, ошибочно что имеет доступ к программе, и можно менять команды

maggi14

Запускать через:
а) FAR
б) program.exe > a.txt
в) cmd.exe /k program.exe

Dasar

если program.exe - не консольная прога, то не поможет.

maggi14

а, блин, тоже не так понял

durka82

А какой сложный?
А нельзя настроить, чтобы все запуски cmd содержимое писали в лог?

Dasar

> А какой сложный?
Написать hook, который инжектится к каждому процессу, проверяет есть ли у него консоль, и выводит содержимое консоли в файл.
> А нельзя настроить, чтобы все запуски cmd содержимое писали в лог?
Заменить cmd своей программой, которая будет под собой запускать реальный cmd, и перенаправлять вывод в файл.
Но маза в том, что консольные проги могут запускаться и без cmd.

a10063

Но маза в том, что консольные проги могут запускаться и без cmd.
фигасе
а кто тогда является интерпретатором команд?

Dasar

> а кто тогда является интерпретатором команд?
Консольной программой может быть не только шел, но и другие программы:
ping, cscript, make и т.д.

a10063

да, они напрямую запускаются...
туплю

durka82

Мб руки дойдут и до варианта с hook-ом - спасибо
А консольность приложения - это такой флаг?
Или использование специфического апи?

durka82

А такой вариант не прокатит?
Использовать прогу, которая автоматом грабит окна по определенному условию?
Правда это будет графика, но для понимания сути ошибки это не так важно.

Dasar

> Или использование специфического апи?
в некоторой степени.
Консольная программа - это процесс, к которой привязана консоль, через вызов спец. api.

Dasar

попробовать можно.

durka82

Тогда вопрос: кто знает грабер графики, который это умеет?

Dasar

Чтобы он еще автоматически и окна искал?

durka82

Угу.
Чтобы как увидел окно, название которого соответствует шаблону, так сразу его и того

bleyman

Я ничего такого не знаю.
Скорее всего придётся писАть самому.
Если залезть на сайтец ФАРовского плагринга, то можно там найти прогу, которая позволяет запустить много консольных прог в одной консольке. Как назывется не помню. Из неё можно попиздить код injection.

durka82

Всем спасибо.
Вроде бы пока экстренной надобности нету (чтобы писать, хотя поупражняться при появлении свободного времени можно).
Просто если бы было - было бы неплохое дополнение к утилитам для администрирования.
Последний раз, когда надо было такое делать - жал на принскрин на время
С третьего раза попал
Оставить комментарий
Имя или ник:
Комментарий: