Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.45 MB
Время: 0.013 c
4-1119458310
XCept.ion
2005-06-22 20:38
2005.08.14
Kейлоггинг


1-1122114667
Zoidberg
2005-07-23 14:31
2005.08.14
Как добавить куку в IE


6-1115413994
Atrion
2005-05-07 01:13
2005.08.14
проблема с TWebBrowser...


14-1122129690
ZlDoc
2005-07-23 18:41
2005.08.14
Определение типа архива


1-1122040713
Андрей Жук
2005-07-22 17:58
2005.08.14
Как прикрутит эдитор к VirtualTree?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский