我想问:如何在delphi中调用dos命令,比如dos下的 :net use \\IP\ipc$ "123" /user:"administrator" 
该如何在delphi中实现

解决方案 »

  1.   

    引用ShellAPI单元,用ShellExecute可以的,具体使用请参见MSDN的说明
      

  2.   

    如上,或者在程序中动态建一个批处理文件,然后写入dos命令。
    比如
    var
     FileName:string;
     F:TextFile;
    begin
      FileName := 'C:\myfile.bat';
      if not FileExists(FileName) then
      begin
        AssignFile(F,FileName);
        Rewrite(F);
        Writeln(F, 'del '+TempPath+'*.* /q');//写入批命令
         ..
         ..
        CloseFile(F);
       end;
        WinExec(FileName,SW_HIDE);//执行
    end;
      

  3.   

    如果是一般的dos命令,一楼的方法就可以了
    如果是API的调用.如下:      
    Function NetShareAdd( ServerName : LPWSTR; Level : DWORD;
                   Buf : Pointer; Var Parm_Err : DWORD ) :
                   NET_API_STATUS; StdCall; External 'NETAPI32.DLL';
    这是格式.当然你要知道你调的API是在哪个dll中,并且要知道它的参数. 可以查msdn
      

  4.   

    winexec('rundll32.exe shell32.dll, Control_RunDLL', 9);
    winexec('rundll32.exe shell32.dll, Control_RunDLL access.cpl, 1', 9);