net send clientmachinename message ------------命令

解决方案 »

  1.   

    我刚好作了一个,支持同步的。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        Panel1: TPanel;
        Memo2: TMemo;
        Panel2: TPanel;
        GroupBox1: TGroupBox;
        Label1: TLabel;
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        function WinExecAndWait(FileName: String;
          Visibility: integer): Thandle;
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var s:string;
    begin
      s:='net send ';
      s:=s+Edit1.Text;
      s:=s+' '+Memo2.Lines.Text;
      Button1.Enabled:=false;
      WinExecAndWait(s,0);
      Memo2.Lines.Text:='';
      Button1.Enabled:=true;
    end;function TForm1.WinExecAndWait(FileName:String; Visibility : integer):Thandle;
    var
     zAppName:array[0..512] of char;
     zCurDir:array[0..255] of char;
     WorkDir:String; StartupInfo:TStartupInfo;
     ProcessInfo:TProcessInformation;
    begin
     StrPCopy(zAppName,FileName);
     GetDir(0,WorkDir);
     StrPCopy(zCurDir,WorkDir);
     FillChar(StartupInfo,Sizeof(StartupInfo),#0);
     StartupInfo.cb := Sizeof(StartupInfo);
     StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
     StartupInfo.wShowWindow := Visibility;
     if not CreateProcess(nil,zAppName,nil,nil,false,CREATE_NEW_CONSOLE or
            NORMAL_PRIORITY_CLASS,
            nil,nil,StartupInfo, ProcessInfo) then
     begin
       Result :=0;  exit;
     end else begin
       WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
       GetExitCodeProcess(ProcessInfo.hProcess,Result);
     end;
    end;
    end.