опубликован 05-02-2002 09:44 MSK
Так когда-то работало:// Тут переводим строки в юникод
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);
}
Если где напутал звиняйте.