Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Dummy ©   (2004-04-27 16:23:00) 

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

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


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


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


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

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

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


Digitman   (2004-04-27 17:23:00) [2]


> Dummy   (27.04.04 17:19) [5]


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


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

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


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

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


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

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


VMcL   (2004-04-27 16:46:00) [6]

>> Dummy  (27.04.04 16:23)

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

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


Digitman   (2004-04-27 16:45:00) [7]


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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо