各位!
    想必大家都用过net send ,就是强行发送消息。
    如果知道!最好给点代码!
                谢了!

解决方案 »

  1.   

    winexec('../../net.exe send .......',SW_NORMAL);
    给分呀:)
      

  2.   

    http://www.playicq.com/dispdoc.php?t=27&id=89
      

  3.   

    function NetSend(dest, Source, Msg: string): Longint; overload;
    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;