WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Отправка сообщений Messenger Service

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Отправка сообщений Messenger Service
synapse опубликован 04-02-2002 14:40 MSK   Click Here to See the Profile for synapse   Click Here to Email synapse  
Как отправить сообщение для сабжа? Нашел апишную функцию NetMessageSendBuffer, но она че-то не работает...
Jack опубликован 05-02-2002 09:44 MSK     Click Here to See the Profile for Jack  Click Here to Email Jack     
Так когда-то работало:

// Тут переводим строки в юникод
LPWSTR Unicode(LPCSTR txt) {
int size = MultiByteToWideChar(CP_ACP, 0, txt, -1, NULL, 0);
LPWSTR buf = (LPWSTR)malloc(size * 2);
int st = MultiByteToWideChar(CP_ACP, 0, txt, -1, buf, size);
return buf;
}

// А тут посылаем сообщение:
LPWSTR servername = Unicode("DstCompName");
char *txt = (char *)Unicode("Текст сообщения");

NET_API_STATUS st = NetMessageBufferSend(NULL, servername, NULL, (unsigned char*)txt, 10);

free(txt);
free(servername);


А можно посылать и через mailslot:

HANDLE h = CreateFile("\\\\DstCompName\\mailslot\\messngr", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (h != INVALID_HANDLE_VALUE) {
DWORD t;
int i = 0;
char message = "SenderName\0ReceiverName\0Message text";
WriteFile(h, message, i, &t, 0);
CloseHandle(h);
}

Если где напутал звиняйте.

Jack опубликован 05-02-2002 09:53 MSK     Click Here to See the Profile for Jack  Click Here to Email Jack     
Ну, конечно напутал. Вот как должно быть:

char message[] = "SenderName\0ReceiverName\0Message text";
WriteFile(h, message, sizeof(message), &t, 0);

synapse опубликован 05-02-2002 13:49 MSK     Click Here to See the Profile for synapse  Click Here to Email synapse     
Всем спасибо! Сделал первым способом - у меня были проблемы с переводом в Юникод. Для конверсии использовал A2W. Вопрос в догонку - а кто-нибудь пытался перехватить эти сообщения? То есть, чтобы не стандартный messagebox выскакивал, а как-нибудь по другому обрабатывать?

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.