zoukankan      html  css  js  c++  java
  • ADSL拨号连接

    dotras是一个提供远程访问服务的组件,使用它可以方便的
    进行宽带拨号连接

    由于不同的系统中dotras调用的底层api可能不同,所以使用时要根据不同的系统使用不同的dotras。
    dotras目前有以下几个包,在nuget中可以找到。每个包都有对应的系统

    • WIN8 - Windows 8, Windows 8 Server
    • WIN7 - Windows 7, Windows 2008 Server R2 (aka Windows 7 Server)
    • WIN2K8 - Windows Vista, Windows 2008 Server
    • WINXP - Windows XP, Windows 2003 Server
    • WIN2K - Windows 2000, Windows 2000 Server (baseline)

    详细说明可以参照dotras doucument

    以下是使用dotras进行的简单实现ADSL拨号连接。

            /// <summary>
    		/// 连接
    		/// </summary>
    		/// <param name="sender"></param>
    		/// <param name="e"></param>
    		private void button1_Click(object sender, EventArgs e)
    		{
    			try
    			{
    				RasDialer dialer = new RasDialer();
    				dialer.EntryName = "宽带连接";  //宽带连接的名字
    				dialer.AllowUseStoredCredentials = true;
    				dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
    				dialer.Credentials = new System.Net.NetworkCredential("宽带账户", "宽带密码");
    				dialer.Timeout = 1000;
    				MessageBox.Show(dialer.PhoneBookPath);
    				dialer.Dial();
    				Thread.Sleep(100);
    				var conns = RasConnection.GetActiveConnections();//获取当前所有活动连接
    				var conn = conns.First();
    				RasIPInfo ipAddresses = (RasIPInfo)conn.GetProjectionInfo(RasProjectionType.IP);
    				MessageBox.Show(ipAddresses.IPAddress.ToString());
    
    			}
    			catch (Exception ex)
    			{
    				MessageBox.Show(ex.ToString());
    			}
    		}
    
    		
    		/// <summary>
    		/// 断开连接
    		/// </summary>
    		/// <param name="sender"></param>
    		/// <param name="e"></param>
    		private void button2_Click(object sender, EventArgs e)
    		{
    			try
    			{
    				var conns = RasConnection.GetActiveConnections();//获取当前所有活动连接
    				var conn = conns.FirstOrDefault(o => o.EntryName == "宽带连接");
    				if (conn != null)
    				{
    					conn.HangUp();
    					MessageBox.Show("断开连接成功");
    				}
    			}
    			catch (Exception ex)
    			{
    
    				MessageBox.Show(ex.Message);
    			}
    		}
    		/// <summary>
    		/// 获取IP
    		/// </summary>
    		/// <param name="sender"></param>
    		/// <param name="e"></param>
    		private void button3_Click(object sender, EventArgs e)
    		{
    			var conns = RasConnection.GetActiveConnections();//获取当前所有活动连接          
    			var conn = conns.FirstOrDefault(o=>o.EntryName== "宽带连接");
    			if (conn != null)
    			{
    			  sIPInfo ipAddresses = (RasIPInfo)conn.GetProjectionInfo(RasProjectionType.IP);
    			  MessageBox.Show(ipAddresses.IPAddress.ToString());
    			}
    		}
    

    备注:

    rasdial命令也可以进行拨号操作

  • 相关阅读:
    053592
    053591
    053590
    053589
    053588
    053676
    C# WPF Border控件总结
    Android Studio 添加jar或aar依赖的两种方式
    javascript Date与string之间的转换
    C#:使用dsoframer.ocx控件实现内嵌office效果(详解)
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4972932.html
Copyright © 2011-2022 走看看