Re[4]: Подскажите самый быстрый способ передачи данных между
От: mdw  
Дата: 14.08.04 20:40
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Здравствуйте, mdw, Вы писали:


mdw>>Здравствуйте, Нахлобуч, Вы писали:


Н>>>Попробуйте тогда через RegisterWindowMessage() создать свое сообщение (в качестве строки можно испорльзовать GUID). МОжет быть быстрее получится...


mdw>>С помощью собственного сообщения нельзя будет передать текст между процессами.


Н>А разве через WPARAM/LPARAM никак?


Нет. У Вас есть строка, она расположена в памяти процесса №1 по адресу Х. Вы передаете адрес Х через LPARAM в окно другого процесса №2. Но в процессе №2 по адресу Х располагается что-то другое(или ничего), ведь у каждого процесса своя виртуальная память. При попытке процесса №2 читать с адреса Х получиться или мусор или access violation.
Для WM_COPYDATA, WM_GET/SETTEXT etc, Windows специально копирует(через общую проекцию файла) нужный участок памяти в память другого процесса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.