Вниз
Скачать: CL | DM;

И снова взаимодействие двух процессов   Найти похожие ветки 

 
Dummy   (2004-04-27 16:23) [0]

Есть чужой процесс. В нем предусмотрена реакция на некое пользовательское сообщение (допустим это WM_USER). По этому сообщению он возвращает PChar. Надо думать, что в моем процессе этот PChar не имеет смысла... а можно ли прочитать эту текстовую строку при помощи ReadProcessMemory, задав в качестве lpBaseAddress полученный PChar? Это теоретический вопрос, я понимаю что можно взять и проверить самому, но на практике я уперся в проблему: как получить ID процесса, зная Handle его главного окна?

Заранее благодарен.


 
Digitman ©   (2004-04-27 16:45) [1]


> можно ли прочитать эту текстовую строку при помощи ReadProcessMemory,
> задав в качестве lpBaseAddress полученный PChar?


можно.  если время жизни блока памяти в целевом АП это подразумевает

проще же воспользоваться WM_COPYDATA


 
VMcL ©   (2004-04-27 16:46) [2]

>>Dummy  (27.04.04 16:23)

>В нем предусмотрена реакция на некое пользовательское сообщение
Может лучше будет WM_COPYDATA?

>Как получить ID процесса, зная Handle его главного окна
GetWindowThreadProcessId()


 
Dummy   (2004-04-27 17:05) [3]

УРА! Через ReadProcessMemory все работает! Попробовал разобраться с WM_COPYDATA. В MSDN вычитал следующее: "An application sends the WM_COPYDATA message to pass data to another application." Но мне же надо не to, а from))... или я чего-то не так понял?


 
MBo ©   (2004-04-27 17:12) [4]

>Но мне же надо не to, а from
Так пусть второе приложение по запросу твоему посылает WM_COPYDATA


 
Dummy   (2004-04-27 17:19) [5]

Так второе приложение не мое, как я заставлю его что-то слать?


 
Digitman ©   (2004-04-27 17:23) [6]


> Dummy   (27.04.04 17:19) [5]


нихрена себе !!! а WM_USER ты КАК умудрился его за ставить слать ? это же. как я понял, сабж вопроса ?


 
Dummy   (2004-04-27 19:00) [7]


> нихрена себе !!! а WM_USER ты КАК умудрился его за ставить
> слать ? это же. как я понял, сабж вопроса ?


Дык я его (второе, "чужое" приложение) не заставлял слать, оно вообще его не шлет, а наоборот принимает/обрабатывает и возвращает некий свой PChar. Неужели я так коряво вопрос сформулировал...

Короче, насколько я понял, WM_COPYDATA мне тут не поможет.

Спасибо всем за участие.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
3-1084863828
AndrewK
2004-05-18 11:03
2004.06.06
Данные хранимой процедуры обрезаются в DBGrid


3-1084621672
havez
2004-05-15 15:47
2004.06.06
BDE


14-1084545685
solo
2004-05-14 18:41
2004.06.06
Не читаемый хелп


4-1083766292
Maximys
2004-05-05 18:11
2004.06.06
Поиск в реестре


1-1085582726
hamster
2004-05-26 18:45
2004.06.06
Bmp в DLL




   Наверх