Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сообщения между процессами Win

997
23 августа 2001 года
Ury
1 / / 20.03.2000
Приветик всем!

Нужна умная мысля. Проблема в следующем - нужно отправить сообщение окну, но это окно принадлежит чужому процессу, а в параметрах сообщения передается указатель на структуру памяти, которая находится в моем процессе. Когда подобное сообщение приходит в другую программу происходит системная ошибка и та программа, которой было адресовано сообщение падает. GlobalAlloc не помогает. Если это необходимо, то могу сказать что сообщение это - TB_GETBUTTON, а окно к которому обращаюсь это ToolBar программки Explorer.exe

Заранее благодарен.
Аноним
Hi !!
Вы наверное зря пытаетесь так в наглую получить данные из експлорера,
не легче ли взять его через RPC и крутить как вздумается ??

Удачи VitSoft
http//www.development.efficientit.com
Аноним
<TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD>Quote:<HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>
GlobalAlloc не помогает.
</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE>
GlobalAlloc выделяет память в контексте твоего процесса и помочь никак не может.
Если проблема в том, чтобы передать указатель на структуру в контексте explorerа то попробуй следущее. explorer как это ни странно позволяет писать в себя все что угодно кому угодно. Значит найди его и потом через Read/WriteProcessMemory найди неиспользуемое пр-во и запиши туда все что надо. указатель на это дело и передавай эксплореру. Только надо ли тебе это?



1.5K
17 ноября 2001 года
Igor Soukhov
8 / / 20.07.2000
Цитата:

On 2001-08-23 1106, Ury wrote
Приветик всем!

Нужна умная мысля. Проблема в следующем - нужно отправить сообщение окну, но это окно принадлежит чужому процессу, а в параметрах сообщения передается указатель на структуру памяти, которая находится в моем процессе. Когда подобное сообщение приходит в другую программу происходит системная ошибка и та программа, которой было адресовано сообщение падает. GlobalAlloc не помогает. Если это необходимо, то могу сказать что сообщение это - TB_GETBUTTON, а окно к которому обращаюсь это ToolBar программки Explorer.exe

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


Как уже тебе ответили - к IE наверно проще добраться средствами COM'а. В общем же случае - проблема решатеся внедрением DLL-ки в процесс в который нужно передать данные (и в этой длл-ке будут зашпренные данные - поинтер на что ты хочешь передаапть). В книге у Рихтера про это есть целая глава - так чта ...

Igor Soukhov,
rsdn.ru &amp; soukhov.com

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог