比如,读取主机名为cc,ip为192.168.1.6,c盘上的test1.test?

解决方案 »

  1.   

    用ping和netuse命令
    你必须知道用户名和密码
      

  2.   

    public static bool Ping(string remoteHost)
    {
    bool Flag = false;
    Process proc = new Process();
    try
    {
    proc.StartInfo.FileName = "cmd.exe";
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.RedirectStandardInput = true;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.CreateNoWindow = true;
    proc.Start();
    string dosLine = @"ping -n 1 " + remoteHost;
    proc.StandardInput.WriteLine(dosLine);
    proc.StandardInput.WriteLine("exit");
    while (proc.HasExited == false)
    {
    proc.WaitForExit(500);
    }
    string pingResult = proc.StandardOutput.ReadToEnd();
    if (pingResult.IndexOf("(0% loss)") != -1)
    {
    Flag = true;
    }
    proc.StandardOutput.Close() ;
    }
    catch (Exception ex)
    {
    }
    finally
    {
    try
    {
    proc.Close();
    proc.Dispose();
    }
    catch
    {
    }
    }
    return Flag;
    }
      

  3.   

    public static bool Connect(string remoteHost, string userName, string passWord)
    {
    if(!Ping(remoteHost))
    {
    return false;
    }
    bool Flag = true;
    Process proc = new Process();
    try
    {
    proc.StartInfo.FileName = "cmd.exe";
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.RedirectStandardInput = true;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.CreateNoWindow = true;
    proc.Start();
    string dosLine = @"net use \\" + remoteHost + " " + passWord + " " + " /user:" + userName + ">NUL";
    proc.StandardInput.WriteLine(dosLine);
    proc.StandardInput.WriteLine("exit");
    while (proc.HasExited == false)
    {
    proc.WaitForExit(1000);
    }
    string errormsg = proc.StandardError.ReadToEnd();
    if (errormsg != "")
    {
    Flag = false;
    }
    proc.StandardError.Close() ;
    }
    catch (Exception ex)
    {
    Flag = false;
    }
    finally
    {
    try
    {
    proc.Close();
    proc.Dispose();
    }
    catch
    {
    }
    }
    return Flag;
    }
    用完Connect方法后,你就可以像访问本机一样操作了
      

  4.   

    感谢各位,小弟第一次发贴,第一次给分,有点激动,活活,来者都有份,希望不要有意见。特别感谢lovefootball(蟑螂)大大。