Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 332
от 02.11.2006, 09:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 382, Экспертов: 31
В номере:Вопросов: 1, Ответов: 2


Вопрос № 60399: Здравствуйте, Уважаемые Эксперты. Помогите разобраться. Есть программка, которая выполняет действие по клику на кнопку и выводит результат в лейбл на основной форме. Нужно с другой программы отловить клик на эту кнопку и прочесть текст лейбле. Я проб...

Вопрос № 60.399
Здравствуйте, Уважаемые Эксперты. Помогите разобраться. Есть программка, которая выполняет действие по клику на кнопку и выводит результат в лейбл на основной форме. Нужно с другой программы отловить клик на эту кнопку и прочесть текст лейбле. Я пробовал GetMessage, но она не получает меседж с чужого окна.
Отправлен: 27.10.2006, 20:25
Вопрос задал: Ciapa Sergey Mihailovich (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vaga
Здравствуйте, Ciapa Sergey Mihailovich!

сервер:
serv.h
#define WM_MYMESSAGE WM_USER+1

serv.cpp
событие:
HWND hWnd;
hWnd=::FindWindow(NULL,"Client");

COPYDATASTRUCT cd;
char buffer[25];
strcpy(buffer,"Hello Client");
cd.lpData=&buffer;
cd.cbData= sizeof(buffer);

if (hWnd != NULL)
::SendMessage(hWnd,WM_COPYDATA, 0, (LPARAM) &cd);
else
AfxMessageBox("Couldn't send message to Client");
---------------------------------------------------------------------------------------
клиент:
clnt.h
public:
BOOL OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCD) ;
clnt.cpp
#define WM_MYMESSAGE WM_USER+1

BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
.....
.....
ON_WM_COPYDATA()
END_MESSAGE_MAP()

BOOL CClientDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCD)
{
MessageBeep(-1);
char buffer[25];
strcpy(buffer,(char *)pCD->lpData);
AfxMessageBox(buffer);
return CDialog::OnCopyData(pWnd, pCD);
}
---------
Ошибка становится ошибкой, когда рождается как истина. Станислав Ежи Лец
Ответ отправил: Vaga (статус: 5-ый класс)
Ответ отправлен: 27.10.2006, 22:34

Отвечает: Bob Johnson
Здравствуйте, Ciapa Sergey Mihailovich!
GetMessage вообще нужна для других целей. тебе следует использовать сообщение WM_GETTEXT (посылать его тому контролу, текст которого тебе нужен)
Ответ отправил: Bob Johnson (статус: Академик)
Россия, Калуга
WWW: Программирование
----
Ответ отправлен: 28.10.2006, 02:15


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное