Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mensajes instantaneos. Como? (https://www.clubdelphi.com/foros/showthread.php?t=64265)

Alexandro 24-03-2009 21:44:35

Mensajes instantaneos. Como?
 
Hola amigos:
Estoy tratando de hacer un programita que me permita enviar mensajes instantaneos como con el Net send del CMD. Se que puedo utilizar la funcion que tiene delphi llamada WinExec. Pero no se como usarla y como puedo pasarle los parametros.
Uso delphi 7. Espero me ayuden.
Gracias por adelantado.

jhonny 24-03-2009 23:17:10

Un ejemplo de como utilizar WinExec o ShellExecute sería el siguiente:

http://www.clubdelphi.com/trucos/ind...24&scrollb=399

Nove bb net 24-03-2009 23:32:02

mensajes isntantaneos
 
Mira este enlace, por si te puede ser util.

http://www.delphi3000.com/articles/article_2186.asp?SK=

Saludos.
Nove

Alexandro 25-03-2009 18:52:20

Hola a todos y gracias por responder. He encontrado esto:
Código Delphi [-]
function NetSend(dest, source, msg: string): longint;
type
 TNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar; buf:
 PWideChar; buflen: Cardinal): longint; stdcall;
var
 NetMessageBufferSend: TNetMessageBufferSendFunction;

 SourceWideChar  : PWideChar;
 DestWideChar   : PWideChar;
 MessagetextWideChar: PWideChar;

 Handle      : THandle;
begin

 Handle := LoadLibrary('NETAPI32.DLL');
 if Handle = 0 then
 begin
 Result := GetLastError;
 exit;
 end;
 @NetMessageBufferSend := GetProcAddress(Handle, 'NetMessageBufferSend');
 if @NetMessageBufferSend = nil then
 begin
 Result := GetLastError;
 exit;
 end;
 MessagetextWideChar := nil;
 try
 GetMem(MessagetextWideChar, Length(msg) * SizeOf(WideChar) + 1);
 GetMem(DestWideChar, 20 * SizeOf(WideChar) + 1);
 StringToWideChar(msg, MessagetextWideChar, Length(msg) * SizeOf(WideChar) + 1);
 StringToWideChar(Dest, DestWideChar, 20 * SizeOf(WideChar) + 1);
 if source = '' then
 begin
  result := NetMessageBufferSend(nil, DestWideChar, nil, MessagetextWideChar, Length(msg) * SizeOf(WideChar) + 1)
 end else
 begin
  GetMem(SourceWideChar, 20 * SizeOf(WideChar) + 1);
  StringToWideChar(source, SourceWideChar, 20 * SizeOf(WideChar) + 1);
  result := NetMessageBufferSend(nil, DestWideChar, SourceWideChar, MessagetextWideChar,
       Length(msg) * SizeOf(WideChar) + 1);
  freemem(SourceWideChar);
 end;
 finally
 FreeMem(MessagetextWideChar);
 FreeLibrary(Handle);
 end;
end;
Voy a probar. Les comento luego...


La franja horaria es GMT +2. Ahora son las 23:28:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi