局域网中有两台电脑A和B,均是windows2000系统
电脑A中添加了一个普通用户user1,密码123
电脑B上安装C#程序,现想通过这段C#程序,以用户名user1,密码123连接一下台电脑B,应该怎么写代码呢?请高手指教,谢谢

解决方案 »

  1.   

    用cmd先用ping看看是否能够ping通
    然后用net use连接
    之后就可以像操作本地电脑一样了
      

  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;
    }