C# 实现拨号重连
先断开网络连接
1 /// <summary> 2 /// 断开网络连接 3 /// </summary> 4 public static void Logout() 5 { 6 ReadOnlyCollection<RasConnection> conList = RasConnection.GetActiveConnections(); 7 foreach (RasConnection con in conList) 8 { 9 con.HangUp(); 10 } 11 }
重新拨号
1 /// <summary> 2 /// 开始拨号 3 /// </summary> 4 /// <returns>返回拨号进程的返回值</returns> 5 public static int Connect() 6 { 7 //联网参数 8 string intername = Common.DESEncrypt.DesDecrypt(Common.MethodClass.GetConfigValue("intername").ToString()); 9 string interpwd = Common.DESEncrypt.DesDecrypt(Common.MethodClass.GetConfigValue("interpwd").ToString()); 10 11 ProcessWindowStyle _windowstyle = ProcessWindowStyle.Hidden; 12 Process pro = new Process(); 13 pro.StartInfo.FileName = "rasdial.exe"; 14 15 //intername宽带用户名,interpwd宽度密码 16 pro.StartInfo.Arguments = "宽带连接" + " " + intername + " " + interpwd; 17 pro.StartInfo.WindowStyle = _windowstyle; 18 pro.Start(); 19 pro.WaitForExit(); 20 return pro.ExitCode; 21 }
调用
1 public void buttonItem2_Click(object sender, EventArgs e) 2 { 3 Logout(); 4 if (Connect() == 0) 5 { 6 //拨号成功 7 } 8 else 9 { 10 //拨号失败 11 } 12 }