从远程机器上拷贝文件到本地,知道访问的用户名和密码,如何用代码完成自动拷贝? 刚开始用Management ,但是老出错,并不知道是不是要对机器做什么设置后来用隐射盘符也不行,用什么方法比较好?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用cmd命令中的net use你也可以先调用一下ping命令,看看是否可以连接 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) { //eat it } finally { try { proc.Close(); proc.Dispose(); } catch { } } return Flag;}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,就可以像操作本地一样了 OK。我先试下!3KU! 蟑螂 高分求C# winform 条码识码技术 关于access数据库抽取记录的问题 C#中的泛型和反射应怎样理解? 在C# 中怎么通过相对路径获取文件或图片信息?? 邮件发送几乎绝望,请各位帮忙! 谁有基于Ajax的个人博客系统的源代码 急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急 关于组件的问题!!求助!! 计算机人和菜市的白菜 请教 如何捕捉当前运行的应用程序? oo基础问题,私有化默认的构造函数目的何在?
{
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)
{
//eat it
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}
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,就可以像操作本地一样了