Главная страница
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
1-13702
AndreiKvin
2002-07-23 15:48
2002.08.05
Что выполняется быстрее


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


3-13537
alextov
2002-07-12 14:58
2002.08.05
Проблемы с отображением (прорисовкой) набора данных в DBGrid е


8-13733
Avgurin
2002-03-26 02:30
2002.08.05
Как сделать ScreenMate?


6-13755
Suomi
2002-05-23 00:00
2002.08.05
Как ограничить(уменьшить) скорость соединения через DialUp?