Главная страница
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
7-13835
Chief
2002-05-22 09:24
2002.08.05
Набор телефонного номера


4-13864
ЮРИЙ_К
2002-03-29 10:45
2002.08.05
Передвигать курсор программно.


4-13848
a_Lan
2002-05-28 20:45
2002.08.05
Диалоговое окно открытия файла


1-13626
jen_bond
2002-07-24 21:35
2002.08.05
Запустить 1С как Ole контейнер


1-13719
Andrew22
2002-07-24 07:39
2002.08.05
Завершение программы