Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.05;
Скачать: CL | DM;

Вниз

???Как запустить программу???   Найти похожие ветки 

 
Nubie   (2002-05-21 02:56) [0]

Народ такая вот проблема:
(1)Гружу EXE файл через LoadLibrary , затем получаю точку входа программы и вызываю ее.
Работает...:)
(2)Гружу EXE файл через CrateFileMapping в контекст процесса , затем
получаю точку входа программы и вызываю ее.
Не работает...GPF...:(:(:(

В дебаге вроде видно следующее:
1>>>call dword ptr [ds:...]
2>>>call dword ptr [Proc+..(...)]
В чем сдесь дело???


 
Digitman ©   (2002-05-21 08:51) [1]

При использовании CrateFileMapping() грузи образ исп.файла в АП процесса по адресу, соответствующему значению ImageBase в его опциональном заголовке. Если грузишь по иному адресу, придется пересчитывать вручную все таблицы релокации абсолютных адресов (что LoadLibrary(), в отличии от CrateFileMapping() делает автоматически)
Кроме того, при вызове ф-ции CrateFileMapping() следует использовать как минимум флаги SEC_IMAGE | PAGE_EXECUTE


 
paul_shmakov ©   (2002-05-21 14:24) [2]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1021935556&n=5


 
Giga-Byte ©   (2002-05-21 17:21) [3]

uses ShellApi;
...
ShellExecute(<параметры посмотришь>);



Страницы: 1 вся ветка

Текущий архив: 2002.08.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-13592
Дядя Будда
2002-07-24 13:49
2002.08.05
Как в Dataset e DBGrid a позиционироваться на запись...


1-13677
иван
2002-07-23 19:09
2002.08.05
Атрибуты файла


3-13535
Сергей123
2002-07-15 02:22
2002.08.05
Проблемы с Access


7-13835
Chief
2002-05-22 09:24
2002.08.05
Набор телефонного номера


4-13858
Nubie
2002-05-30 05:19
2002.08.05
Как загрузить ЕХЕ в память?