Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
1-1085684092
hgd
2004-05-27 22:54
2004.06.06
Вопрос про сообщения


14-1084975650
Mim1
2004-05-19 18:07
2004.06.06
Про неправильные ответы


6-1081974657
Morph
2004-04-15 00:30
2004.06.06
ClientSocket в цикл ?


3-1084790237
Klerk
2004-05-17 14:37
2004.06.06
Почему он не находит поле?


3-1084526011
Dina
2004-05-14 13:13
2004.06.06
Поле not null --- gbk gdb





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский