开源项目地址:http://dotras.codeplex.com/

使用这个可以方便的操作ADSL拨号、断开。有详细的开发文档,需要的可以自己去看。。

        /// <summary>/// 创建或更新一个PPPOE连接(指定PPPOE名称)/// </summary>void CreateOrUpdatePPPOE(string updatePPPOEname){RasDialer dialer = new RasDialer();RasPhoneBook allUsersPhoneBook = new RasPhoneBook();string path = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);allUsersPhoneBook.Open(path);// 如果已经该名称的PPPOE已经存在,则更新这个PPPOE服务器地址if (allUsersPhoneBook.Entries.Contains(updatePPPOEname)){allUsersPhoneBook.Entries[updatePPPOEname].PhoneNumber = " ";// 不管当前PPPOE是否连接,服务器地址的更新总能成功,如果正在连接,则需要PPPOE重启后才能起作用
                allUsersPhoneBook.Entries[updatePPPOEname].Update();}// 创建一个新PPPOEelse{string adds = string.Empty;ReadOnlyCollection<RasDevice> readOnlyCollection = RasDevice.GetDevices();//                foreach (var col in readOnlyCollection)//                {//                    adds += col.Name + ":" + col.DeviceType.ToString() + "|||";//                }//                _log.Info("Devices are : " + adds);// Find the device that will be used to dial the connection.RasDevice device = RasDevice.GetDevices().Where(o => o.DeviceType == RasDeviceType.PPPoE).First();RasEntry entry = RasEntry.CreateBroadbandEntry(updatePPPOEname, device);    //建立宽带连接Entryentry.PhoneNumber = " ";allUsersPhoneBook.Entries.Add(entry);}}/// <summary>/// 断开 宽带连接/// </summary>public void Disconnect(){ReadOnlyCollection<RasConnection> conList = RasConnection.GetActiveConnections();foreach (RasConnection con in conList){con.HangUp();}}/// <summary>/// 宽带连接,成功返回true,失败返回 false/// </summary>/// <param name="PPPOEname">宽带连接名称</param>/// <param name="username">宽带账号</param>/// <param name="password">宽带密码</param>/// <returns></returns>public bool Connect(string PPPOEname, string username, string password,ref string msg ){try{CreateOrUpdatePPPOE(PPPOEname);using (RasDialer dialer = new RasDialer()){dialer.EntryName = PPPOEname;dialer.AllowUseStoredCredentials = true;dialer.Timeout = 1000;dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);dialer.Credentials = new NetworkCredential(username, password);dialer.Dial();return true;}}catch (RasException re){msg = re.ErrorCode + " " + re.Message;return false;}}}

转载于:https://www.cnblogs.com/cyberarmy/p/5428055.html

C# 利用DotRas 操作adsl相关推荐

  1. 计算机视觉开源库OpenCV之利用开操作(Opening Operation)修复受损照片方法

    计算机视觉开源库OpenCV之利用开操作(Opening Operation)修复受损照片,开运算即为:先腐蚀再膨胀. 原图片,俄罗斯少女,挺漂亮的,但是照片上有白线.我们的任务就是去掉这些白线... ...

  2. 【详细讲解】某书店有一个收银员该书店最多允许n个购书者进入。将收银员和购书者看作不同的进程,其工作流程如下图所示。利用PV操作实现该过程,设置信号量S1,S2和Sn,初值分别为0,0,n.则图中a1

    某书店有一个收银员该书店最多允许n个购书者进入.将收银员和购书者看作不同的进程,其工作流程如下图所示.利用PV操作实现该过程,设置信号量S1,S2和Sn,初值分别为0,0,n.则图中a1和a2应填入( ...

  3. 安卓案例:利用SQLiteOpenHelper操作数据库及表

    安卓案例:利用SQLiteOpenHelper操作数据库及表 一.运行效果 二.涉及知识点 1.利用SQLiteOpenHelper类创建与升级数据库 这个类是一个抽象类,我们必须继承该类创建一个子类 ...

  4. Android之网络编程利用PHP操作MySql插入数据(四)

    因为最近在更新我的项目,就想着把自己在项目中用到的一些的简单的与网络交互的方法总结一下,所以最近Android网络编程方面的博文会比较多一些,我尽量以最简单的方法给大家分享,让大家明白易懂.如果有什么 ...

  5. 怎么用pycharm更新python_利用PyCharm操作Github(仓库新建、更新,代码回滚)

    Github是目前世界上最流行的代码存储和分享平台,而PyCharm是Python圈中最流行的IDE,它很好地支持了Git操作.本文将会介绍如何利用PyCharm来连接Github,同时演示Githu ...

  6. 安卓案例:利用SQLiteDatabase操作数据库与表

    安卓案例:利用SQLiteDatabase操作数据库与表 一.SQLite简介 SQLite是D. Richard Hipp用 C语言编写 的开源嵌入式数据库引擎.它支持大多数的SQL92标准,并且可 ...

  7. 【web开发】☆★之利用POI操作Excel表格系列教程【6】遍历工作簙行和列取值

    [web开发]☆★之利用POI操作Excel表格系列教程[6]遍历工作簙行和列取值 package com.xiaoye.demo; import java.io.FileInputStream; i ...

  8. python如何收集数据库_利用Python操作mysql数据库

    本文主要讲解如何利用python中的pymysql库来对mysql数据库进行操作 大家在转行项目中也可以加入这一步操作,提高逼格的同时还能简化流程 正文开始: 先看一下最常见的操作:从数据库中sele ...

  9. 利用winform 操作access 数据库

    最近给师兄写了个一个程序,在winform 中利用c# 操作access 数据库,完成数据的增删查改.废话不说直接贴code using System; using System.Collection ...

最新文章

  1. It--网络生涯去向何方?
  2. 查看磁盘uuid命令_Win10推出新的命令行工具,可以查看磁盘空间使用情况
  3. 脚本中的关于‘/xff‘字符记录
  4. NYOJ 104 最大和
  5. OpenCV亮度和对比度调整的实例(附完整代码)
  6. 康托展开与八数码问题
  7. Ubuntu server下“初始化月份字符串出错”的解决
  8. 漫步最优化二——基本优化问题
  9. [USACO08OPEN]寻宝之路Clear And Present Danger
  10. offline 与 online 事件监听浏览器是否在线
  11. Window下完全卸载MySQL教程
  12. python调用通达信函数用户指标_通达信公式之间如何调用,如何引用通达信tdxwave指标...
  13. JSEclipse安装后无法打开js文件_详解使用Pandoc与Reveal.js制作幻灯片
  14. 计算机辅助在机械中的意义,浅谈计算机辅助设计技术在机械设计中的应用
  15. 预言机(Oracle)
  16. EBS功能_Oracle ERP系统借贷关系
  17. 微博自动同步发表到微头条工具使用说明
  18. 书山有路勤为径,学海无涯苦作舟
  19. 美国计算机科学排名2010,2010年美国大学计算机科学专业研究生排名
  20. 程序养身:初学者如何学瑜伽

热门文章

  1. 如何解决EDM邮件营销中的图片难题
  2. 深入浅出SharePoint2010——附录:常用术语对照
  3. 找不到显示桌面的快捷方式怎么办|显示桌面的快捷方式找不到解决方法|显示桌面代码|...
  4. mysql字段唯一确定_验证表里某不确定的字段的值是否唯一的方法?
  5. 上财的计算机专业408,【2020考研】上财408分经验分享
  6. flask 检测post是否为空_使用Flask搭建一个校园论坛-4
  7. matlab空格会消失了,如何在Matlab中自动删除保存的尾随空格?
  8. mysql主从配置错误_mysql主从配置失败,主从通讯失败
  9. 414. 第三大的数
  10. linux系统有几个系统盘,linux操作系统的分区有哪些种类?各分区主要作用是什么?...