Fórum enviar mensagem #184209
25/09/2003
0
Estou tentando enviar mensagem a partir do meu sistema criado em Delphi, para os usuarios que estão logados, usando o comando net send do DOS. Estou usando o seguinte comando:
WinExec(PChar(´net send´ + nome da máquina
+ Memo1.lines.text),SW_HIDE);
WinExec(PChar(´net send´ + nome da máquina
+ Memo1.lines.text),SW_HIDE);
Jiu
Curtir tópico
+ 0
Responder
Posts
25/09/2003
Edineidaniel
Olá,
Tenho uma função que envia mensagem a todos os usuários logados na rede...
dá uma olha...
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;
SourceWideChar := nil;
DestWideChar := 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
result := NetMessageBufferSend(nil, DestWideChar, nil,
MessagetextWideChar, Length(msg) * SizeOf(WideChar) + 1)
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;
t+
Edinei
Tenho uma função que envia mensagem a todos os usuários logados na rede...
dá uma olha...
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;
SourceWideChar := nil;
DestWideChar := 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
result := NetMessageBufferSend(nil, DestWideChar, nil,
MessagetextWideChar, Length(msg) * SizeOf(WideChar) + 1)
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;
t+
Edinei
Responder
Gostei + 0
17/03/2004
Evandro.ogada
tenho tipo problema para converter um stgring em widechar
alguem pode me ajudar???
desde já valewww.
alguem pode me ajudar???
desde já valewww.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)