![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Гость_Stalk |
|
|||
|
Unregistered |
Всем привет!
Я (впрочем, как и всегда) в MFC. Мне надо как-то общаться с программой, окна которой нет на экране(все что от нее есть-это ее процесс). Естественно, FindWindow здесь не подходит... Можно ли получить какой-то указатель на эту прогу и послать ей мессаг? Очень надеюсь на вашу помощь. |
|||
|
||||
| shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
Можно получить, хэндел её процесса и открыть его, но какие ты ей собираешься посылать сообщения, если у неё нет окна ? Сообщения посылаются окнам, а на счёт общения сделай одну прогу COM-сервером.
-------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Можно ещё использовать именованные объекты - например, создать именованный Event в проге, ожидающей сообщения, и поток, который будет ждать WaitForSingleObject-ом этого Event-а. Когда другой процесс захочет что-то передать первому, он откроет Event по имени, просигналит его и передаст данные - например, через файл отображаемый на память, или через Named Pipe, или через именованный семафор.
-------------------- ![]() |
|||
|
||||
| Stalk |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.1.2004 Где: Украина, харьков Репутация: нет Всего: нет |
Т.е ничего нового? Ну и ладно, сделаю так
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Нет на экране, или вообще не существует ? З.Ы. для подобных целей лучше всего создать класс окна, производный от CWnd, в котором определить обработчик сообщения WM_COPYDATA, и создавать это окно невидимым (без WS_VISIBLE), и зная window-класс окна (задаётся в CreateEx при создании окна), или Caption окна - найти его из другого процесса с пом. FindWindow, и передать ему данные через WM_COPYDATA. -------------------- ![]() |
|||
|
||||
| Stalk |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.1.2004 Где: Украина, харьков Репутация: нет Всего: нет |
Не существует. У меня есть прога которая сама по сути ничего не делает. Она только связывает тучу прог в единое целое. Вот ее окна как раз не существует. А вся эта туча прог должна через нее общатся. Не советуйте мне сделать все это как-то по-другому. Если-бы я мог, то уже давно сделал-бы Это сообщение отредактировал(а) Stalk - 4.2.2004, 23:48 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |