Главная страница
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.012 c
3-13581
alexco
2002-07-14 10:16
2002.08.05
подскажите, как правильно использовать метод Locate в Д5, TQuery


1-13669
Cowboy
2002-07-23 17:21
2002.08.05
TImage & TTabSheet


1-13598
chips
2002-07-24 17:17
2002.08.05
как между операторами сделать задержку в пол секунды


4-13850
Максимка
2002-05-28 20:41
2002.08.05
Как создать несколько форм, но так чтобы...


3-13569
jim
2002-07-16 12:55
2002.08.05
Обновление через ClientDataSet нескольких таблиц