在DELPHI怎样发送消息给局域网其他用户,象在CMD 下的  NET SEND XXX XXXX那样????

解决方案 »

  1.   

    如果你想,直接用shellexec('NET SEND XXX XXXX')或者winexec('NET SEND XXX XXXX');
    或者用shellexecute,shellexecuteEX,没有比只羊更像的了:)
    如果自己编程,用socket就行了。
      

  2.   

    请看
    http://expert.csdn.net/Expert/topic/1419/1419961.xml?temp=.6190607
      

  3.   

    有现成的APINetMessageBufferSend我原来用过,这个只能用在nt(2000, xp)下面.
      

  4.   

    如果你想,直接用shellexec('NET SEND XXX XXXX')或者winexec('NET SEND XXX XXXX');
    或者用shellexecute,shellexecuteEX,没有比只羊更像的了:)
    我看未必喔
      

  5.   

    转贴
    function NetSend(dest, Source, Msg: string): Longint; overload;typeTNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar;buf: PWideChar; buflen: Cardinal): Longint;stdcall;varNetMessageBufferSend: TNetMessageBufferSendFunction;SourceWideChar: PWideChar;DestWideChar: PWideChar;MessagetextWideChar: PWideChar;Handle: THandle;beginHandle := LoadLibrary('NETAPI32.DLL');if Handle = 0 thenbeginResult := GetLastError;Exit;end;@NetMessageBufferSend := GetProcAddress(Handle, 'NetMessageBufferSend');if @NetMessageBufferSend = nil thenbeginResult := GetLastError;Exit;end;MessagetextWideChar := nil;SourceWideChar := nil;DestWideChar := nil;tryGetMem(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 = '' thenResult := NetMessageBufferSend(nil, DestWideChar, nil,MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)elsebeginGetMem(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;finallyFreeMem(MessagetextWideChar);FreeLibrary(Handle);end;end;function NetSend(Dest, Msg: string): Longint; overload;beginResult := NetSend(Dest, '', Msg);end;function NetSend(Msg: string): Longint; overload;beginResult := NetSend('', '', Msg);end;// Example:procedure TForm1.Button1Click(Sender: TObject);constNERR_BASE = 2100;NERR_NameNotFound = NERR_BASE + 173;NERR_NetworkError = NERR_BASE + 36;NERR_Success = 0;varRes: Longint;sMsg: string;beginRes := NetSend('LoginName', 'Your Message...');case Res ofERROR_ACCESS_DENIED: sMsg := 'user does not have access to the requested information.';ERROR_INVALID_PARAMETER: sMsg := 'The specified parameter is invalid.';ERROR_NOT_SUPPORTED: sMsg := 'This network request is not supported.';NERR_NameNotFound: sMsg := 'The user name could not be found.';NERR_NetworkError: sMsg := 'A general failure occurred in the network hardware.';NERR_Success: sMsg := 'Message sent!';end;ShowMessage(sMsg);end; 
      

  6.   

    winexec('NET SEND 127.0.0.1 XXXX');