Есть %SYSTEM_ROOT%\system32\gdi.exe - программа для Win3.1. В нем есть очень мне полезные функции death и resurrection. Вот в чем проблема - как мне из вызвать на asm или C++? С другой стороны эти функции вызываются из под user.exe. А если уж совсем копаться, то я нашел пример работы с ними в Delphi: Код (Text): Отключение GDI: procedure Death(DC: hDC); external 'GDI' index 121; Включение GDI: procedure Resurrection; external 'GDI' index 122; И это работает! Я проверял в свое время. Подскажите, как можно добраться до данных функций? P.S. У меня XP SP2. Язык реализации - любой. Кроме Delphi ) P.P.S. Может вызывать через "rundll32.exe,death" или нечто подобное.... Хотя плохо представляю как...
Magnum >они есть в секции ЭКСПОРТА ну не то написал, извиняюсь. подправлю сейчас. А как их подключить в run-tume? Индексы то я и так знаю - в коде Delphi они есть. LoadLibrary ругается.
А вручную загрузить exe'шник и найти в нем точку входа в нужную мне функцию? Наподобие ручного поиска kernel32.dll в памяти и в нем нужной функции (где-то на сайты был такой пример). Или ересь говорю?
Если код 16ти-битный, то там по полной юзаются прерывания int 21h и иже с ними Подобный код вызовет ошибку под Вынь...
Magnum А я попробую ) Вдруг разберусь, что он там делает и смогу переделать. Вопрос открыт: как получить точку входа в данную функцию? Там уже мои проблемы...
Если код 16битный, то он никак не уложится в 32х битные сегменты=)) проблема не в поиске функций руками и тд., проблема в том, чтобы заставить этот код работать. Если очень хочется, можно самостоятельно написать загрузчик, который будет грузить 16битный код в 16 битные сегменты. Но такой способ уже есть. ну а если уж очень трудно заюзать уже имеющееся, то тогда остаёцца толька разбежацца и убицца апстену=))))
k3internal Я хочу посмотреть, ЧТО за код там выполняется. Если еще никак не перенести на 32битный - я успокоюсь и займусь делами поважнее )