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...
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.