PDA

Ver la Versión Completa : Mensajes instantaneos. Como?


Alexandro
24-03-2009, 21:44:35
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/index.php?id=152&scroll=24&scrollb=399

Nove bb net
24-03-2009, 23:32:02
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:

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...