Ir al contenido


Foto

Enviar Mensaje por red


  • Por favor identifícate para responder
9 respuestas en este tema

#1 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 06 enero 2009 - 11:16

Hola
Vi este ejemplo en algun lado.
Se supone que envia un mensaje a otro ordenador en red, pero no lo hace.
Que falta, sobra o anda mal?.


delphi
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     procedure Button1Click(Sender: TObject);
  13.   private
  14.     { Private declarations }
  15.   public
  16.     { Public declarations }
  17.   end;
  18.  
  19. var
  20.   Form1: TForm1;
  21.  
  22. implementation
  23.  
  24. {$R *.dfm}
  25.  
  26. procedure TForm1.Button1Click(Sender: TObject);
  27. procedure MandaWinpopup( ServidorRemoto,
  28.                           Destinatario,
  29.                           Remitente,
  30.                           Mensaje : String);
  31.   var
  32.     sTemp  : string;
  33.     Mango  : THandle;
  34.     Cuantos : DWord;
  35.   begin
  36.     sTemp := '\\'+ServidorRemoto+'\mailslot\messngr';
  37.  
  38.     Mango := CreateFile( PChar(sTemp),
  39.                         GENERIC_WRITE,
  40.                         FILE_SHARE_READ,
  41.                         NIL,
  42.                         OPEN_EXISTING,
  43.                         FILE_ATTRIBUTE_NORMAL,
  44.                         0);
  45.  
  46.     if Mango = INVALID_HANDLE_VALUE then
  47.       raise Exception.create( 'Error abriendo el slot'+#13+
  48.                               'Error opening the slot');
  49.  
  50.     sTemp:=Remitente+#0+Destinatario+#0+Mensaje;
  51.     try
  52.       Cuantos := 0;
  53.       if (NOT WriteFile(Mango,
  54.                         Pchar(sTemp)^,
  55.                         Length(sTemp),
  56.                         Cuantos,
  57.                         NIL)) or
  58.         (Cuantos <> Length(sTemp)) then
  59.         raise Exception.create( 'No puedo mandar el mensaje'+#13+
  60.                                 'Cannot send the message');
  61.     finally
  62.       CloseHandle(Mango);
  63.     end;
  64.   end;
  65.  
  66. begin
  67.   MandaWinpopup( 'Asistente',          {Remote PC}
  68.                 'carlos',    {Message Receiver}
  69.                 'De Manolo',      {Message Sender}
  70.                 'Invitame a un cafe...');  {Message text}
  71.  
  72. end;
  73.  
  74.  
  75. end.


Saludos
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 06 enero 2009 - 11:36

Saludos.

Si tu aplicación utiliza BD porque no lo haces a través de ella, a lo que me refiero que tengas una tabla con los campos necesarios y filtres los mensajes por usuarios y/o PC.

Y si usas Firebird con la posibilidad de los eventos puedes indicarle con "algo" al usuario de que tiene un mensaje nuevo.
  • 0

#3 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 06 enero 2009 - 11:43

¿El otro ordenador tiene el servicio de mensajes activado? El las ultimas versiones de windows venia desactivado por defecto porque algunos lo utilizaban para enviar spam
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 enero 2009 - 11:43

Hola

Lo que yo creo es que esto tiene que ver mas con el Sistema Operativo, para probar esto has lo siguiente

INICIO, EJECUTAR, cmd


En la pantalla tendrás que poner

NET SEND {ip|nombre maquina} {mensaje}


Si esto lo hace quiere decir que hay un problema en el programa si no lo hace y te muestra un error entonces es la seguridad de tu windows.

Salud OS
  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 06 enero 2009 - 11:59

Hola
me regresa esto:

Microsoft Windows XP [Version 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Carlos Gutierrez>NET SEND {Asistente} {mensaje}
An error occurred while sending a message to {ASISTENTE}.

The message alias could not be found on the network.

More help is available by typing NET HELPMSG 2273.


C:\Documents and Settings\Carlos Gutierrez>

saludos
  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 enero 2009 - 12:02

Yeap, es problema de la seguridad de windows, ahora, no me acuerdo como activarlo, pero nuestro amigo seoane nos podría informar como :D

Salud OS

PD, aunque corras el riesgo de que te lleguen ventanas de SPAM desde internet :p

Edito: Me parece que no está bien la forma como lo estás enviando debe ser asi

NET SEND Asistente Hola como estas

o

NET SEND 192.168.1.1 Hola como estas
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 06 enero 2009 - 12:06

Hola
A mi no me importaría recibir estos spam. :D (y)
Imagen Enviada
Saludos
  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 enero 2009 - 12:07

jejejeje, lo malo amigo es que no es ese tipo de SPAM, son ventanas con propaganda, bueno eso era hace mucho cuando comenzaron, ahora no se si ya estarán mas sofisticados :p :D

Salud OS
  • 0

#9 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 06 enero 2009 - 01:16

Hola
A mi no me importaría recibir estos spam. :D (y)
Imagen Enviada
Saludos


Tranquilos bonitos !!!  :p...

Sigamos con el tema que nos atañe (de dónde saqué esa palabra ?  :|  ^o|)
  • 0

#10 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 06 enero 2009 - 01:25

Control Panel->Administrative Tools->Services->Buscar Messenger y activar el servicio y listo.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.