Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизПерехват вывода 16-битных ДОС-программ текстового режима Найти похожие ветки
← →
Джо © (2005-07-25 04:23) [0]Сабжевая программа (С++), вероятнее всего, для вывода текста использует printf. Напрямую в видео-память не выводит. Каким образом можно получить ее вывод, не прибегая к перенаправлению вывода в файл (>)? Разумеется, я имею в виду, что программа запускается из Windows-приложения вызовом CreateProcess. Моих знаний WinAPI хватило лишь на то, чтобы заключить, что сделать это невозможно.
← →
Defunct © (2005-07-25 07:02) [1]а почему
> не прибегая к перенаправлению вывода в файл (>)?
">>" не работает или принципиально нельзя использовать?
> Джо
> Сабжевая программа (С++), вероятнее всего, для вывода текста использует printf. Напрямую в видео-память не выводит. Каким образом можно получить ее вывод
Я бы поступил так: написал бы 16-ти разрядный загрузчик этой программы, к функции консольного вывода (ah=9, int 21h) либо к файлу с handle 0 (взависимости от того как реализован вывод в вышеупомянутой программе). Сей загрузчик запускал бы из win32 приложения. Непонятно только одно, для чего это нужно. ;>
← →
Defunct © (2005-07-25 07:04) [2]ой, потерял слова при редактирвании..
> этой программы, к функции
читать:
для перехвата функции
← →
Lamer@fools.ua © (2005-07-25 07:56) [3]Гугл, как ни странно, до сих пор на первом месте среди рулезов:
http://www.delphirus.com.ru/modules.php?name=Pages&pa=showpage&pid=888
:o)
P.S. Правильность примера не проверял, но для понимания идеи, думаю, хватит.
← →
Defunct © (2005-07-25 10:15) [4]> Lamer@fools.ua
16-ти разрядные приложения необязательно консольные, но они определенно не win32 и не являются процессами для системы (это процессы виртуальной машины ntvdm), поэтому вся кухня, работающая с processid работать вероятно не будет.
← →
Джо © (2005-07-26 01:11) [5]> Defunct
Да вот вокруг такого, довольно неуклюжего, способа и мои сображения крутились...
> Lamer@fools.ua.
Почему-то с самого начала был уверен, что для 16-разрядных ДОСовских приложений такое не сработает. Как назло, навалилось столько работы, что некогда голову поднять :( Но обязательно проверю. Впрочем, пример там, навскидку, кажется, некорректный - очепятки... но неважно, способ-то стандартный.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c