Вниз
Скачать: CL | DM;

Перехват вывода 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
5-1093259795
Jenek
2004-08-23 15:16
2005.08.14
Windows и меню


6-1115185056
X-Disa
2005-05-04 09:37
2005.08.14
IdHttp.Get - многопоточное скачивание страниц!


3-1120470697
Zhekson
2005-07-04 13:51
2005.08.14
Распечатка DBGrid_a


14-1122016086
Дмитрий999
2005-07-22 11:08
2005.08.14
Запретить обьявление экземпляра класса


14-1121068350
msguns
2005-07-11 11:52
2005.08.14
Руслана в Запорожье




   Наверх