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

Вниз

Как заставит другую программу(процесс) записывать данные?   Найти похожие ветки 

 
Sectey ©   (2003-04-08 13:38) [0]

Как заставит другую программу(процесс) записывать данные в область памяти доступную мне?
В свой программе я вызываю:
SendMessage(wnd, TB_GETBUTTON, word(i), longword(@button))
Передаю чужой программе указатель на структуру _TBButton.
Данная операция приводит к ошибке в чужой программе.
Я по разному пробывал выделять память и new, GlobalAlloc и через MMF результат один чужая программа выдает сообщение о том что не может записать данные по адресу перданному мной.
Что мне делать?


 
evvcom ©   (2003-04-09 10:27) [1]

По-моему тут без хуков не обойтись. Повесив hook можно заставить чужой процесс выполнять то, что нужно тебе, а там через CreateFileMapping передавать большие объемы данных в нуждающееся приложение.


 
Digitman ©   (2003-04-09 12:01) [2]

- аллокировать блок памяти необходимого размера в адр.пространстве целевого процесса (см. OpenProcess, VirtualAllocEx, VirtualProtectEx);

- послать вышеупомянутое сообщение , передав ему последним параметром адрес, полученный как результат аллокирования блока

- прочитать содержимое блока в "свое" адр.пространство (см. ReadProcessMemory)

- деаллокировать блок (см. VirtualFreeEx)



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-67289
Delphiman
2003-04-06 16:02
2003.04.21
Добавление рисунка в компонент Memo


3-67086
Будущий мастер
2003-04-01 19:13
2003.04.21
Проблемы с установкой Oracle 8 в Windows XP


1-67204
Gerge M
2003-04-02 18:28
2003.04.21
Ordinal types


3-67088
Valeriya
2003-04-03 11:55
2003.04.21
QReport и геморой


14-67542
Clickmaker
2003-04-04 14:24
2003.04.21
Сосуществование Delphi5 и 6 на одном компутере