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

Ваш аккаунт

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

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

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

Помогите разобратся с сообщениями между приложениями!

520
30 октября 2006 года
inkognitum
155 / / 03.05.2006
Помогите разобратся с сообениями!
Просто сто раз видел даже пытался делать но почему то каждый раз выдавал ошибку памяти или прочее.

Допустим я создаю 2 приложения которые запускаются на одном компе и мне надо чтобы эти программы могли общатся какнить между собой.

Допустим сообщениями.. как создать сообщение, послать его, и чтобы программа получила его и отреагировала.
Апишки вроде как - SendMessage, GetMessage... а может и путаю!

Заранее спасибо!
547
31 октября 2006 года
Hydra
488 / / 20.06.2006
Создаешь свое сообщение RegisterWindowMessage, при вызове во втором приложении получишь тот же номер.
 
Код:
long WM_MYMSG=RegisterWindowMessage("MYMESSAGE");

Создаешь обработчик Application->OnMessage, что-то типа
 
Код:
void __fastcall TMainFRM::OnMessage(MSG &msg,bool &Handled)
{ if (msg.message==WM_MYMSG)
    { // делаем что надо
      Handled=true; }
}
// Где-нть на OnCreate формы
Application->onMessage=MainFRM->OnMessage;

Для получения все готово. Когда надо посылаешь SendMessage
520
31 октября 2006 года
inkognitum
155 / / 03.05.2006
Так и не понял как с другого проложения послать сообщение.
Делаю так:
 
Код:
long WM_MYMSG;
SendMessage(FindWindow(NULL,"Form"),WM_SYSCOMMAND,WM_MYMSG,0);


где ошибся?
246
31 октября 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=inkognitum]Так и не понял как с другого проложения послать сообщение.
Делаю так:
 
Код:
long WM_MYMSG;
SendMessage(FindWindow(NULL,"Form"),WM_SYSCOMMAND,WM_MYMSG,0);


где ошибся?[/QUOTE]
SendMessage(FindWindow(NULL,"Form"),WM_MYMSG,0,0);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог