ADSL拨号连接
2015-11-17 21:33
295 查看
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拨号连接。
备注:
进行宽带拨号连接
由于不同的系统中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命令也可以进行拨号操作
相关文章推荐
- quickLinux
- 将《Android应用开发揭秘》例子源码添加进Eclipse
- poj3083Children of the Candy Corn
- 最近知识小节
- 爬爬爬之路:UI(六) UISegmentedControl UISlider NSTimer的简单应用
- Commando War
- python 模块化管理,导入自己的模块(包)
- 关于container_of和list_for_each_entry 及其相关函数的分析
- Codeforces Round #331 (Div. 2)——C. Wilbur and Points
- hdoj--4857--逃生(拓扑排序+反向建图)
- 【GZOJ】1369——小明跳楼梯
- 线程 (并发 互斥 同步 并行 多线程 异步)
- 内部类---静态内部类和非静态内部类
- 从零开始,跟我一起做jblog项目(三)从Maven到Gradle
- 19. 更新表格字段的值
- hdoj--4857--逃生(拓扑排序+反向建图)
- win8.1 摄像头切换
- Linux spi驱动分析(四)----SPI设备驱动(W25Q32BV)
- Java Web开发环境配置
- 一个web项目web.xml的配置中<context-param>配置作用