| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Как передать строку из одной программы в другую |
| Автор: unit0 22.3.2006, 14:43 |
| Одна копия программы может генерировать специальное сообшение для другой. Вместе с сообщением нужно передать строку. Думал передавать указатель через параметры сообщения - не работает. Как это сделать. Варианты через клипбоард, или DDE не нравятся - что-то слишком сложно. Можно ли выделить буфер в памяти видимый для обоих копий программы. |
| Автор: _hunter 22.3.2006, 14:59 |
| поиск по форуму WM_COPYDATA. |
| Автор: Artemon 22.3.2006, 15:09 |
| Это можно сделать кучей способов: 1) Сокеты. 2) Разделяемая область памяти DLL. 3) Буфер обмена. 4) WM_COPYDATA 3) Pipe |
| Автор: YanTsys 23.3.2006, 01:20 |
| Если не ошибаюсь (у меня билдер старый) у вас в папке Builder\Examples\Apps будут образцы приложений AUTOCON и AUTOSRV откомпилируйте и запустите... кстати к куче способов прибавте 6) реестр... Но так как судя по всему вы работаете с сообщениями то правильный ответ все же WM_COPYDATA WM_COPYDATA wParam = (WPARAM) (HWND) hwnd; // дескриптор окна, отправляющего данные lParam = (LPARAM) (PCOPYDATASTRUCT) pcds; // указатель на структуру с данными |
| Автор: OlexXX 24.3.2006, 23:47 |
| Самый простой и дубовый способ - через текстовый файл. Именно: программа 2 в цикле опрашивает какой-то каталог (моно виндовс) на наличие файла с именем, ан пример, str.dat. Как токо он появился - читаем его содержимое и удаляем. Для 1-й проги это сигнал, что файл прочитан. Тут много что можно придумать. Я делал, к примеру, проверку в 1-ой программе, запущена ли вторая и т.д. |