#include <windows.h>
#include <lm.h>
#include <stdio.h>
#pragma comment(lib, "netapi32.lib")
void enviarMensaje(const char* destinatario, const char* mensaje) {
// Convertir los parámetros a tipos adecuados
LPWSTR wDestinatario = (LPWSTR)malloc((strlen(destinatario) + 1) * sizeof(WCHAR));
LPWSTR wMensaje = (LPWSTR)malloc((strlen(mensaje) + 1) * sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, destinatario, -1, wDestinatario, strlen(destinatario) + 1);
MultiByteToWideChar(CP_ACP, 0, mensaje, -1, wMensaje, strlen(mensaje) + 1);
// Enviar el mensaje
DWORD resultado = NetMessageBufferSend(
NULL, // Nombre del servidor (NULL para local)
wDestinatario, // Destinatario
0, // Puerto (0 para el predeterminado)
wMensaje, // Mensaje
(DWORD)(wcslen(wMensaje) + 1) * sizeof(WCHAR) // Longitud del mensaje
);
if (resultado == NERR_Success) {
printf("Mensaje enviado a %s: %s\n", destinatario, mensaje);
} else {
printf("Error al enviar el mensaje: %d\n", resultado);
}
// Liberar memoria
free(wDestinatario);
free(wMensaje);
}
int main() {
const char* destinatario = "*"; // Enviar a todos los usuarios
const char* mensaje = "Hola desde C!";
enviarMensaje(destinatario, mensaje);
return 0;
}