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命令也可以进行拨号操作

ADSL拨号连接的更多相关文章

  1. NT平台ADSL拨号连接密码恢复原理

    NT平台拨号连接密码恢复原理 创建时间:2004-11-08 更新时间:2004-11-12文章属性:原创文章提交:eyas (eyas_at_xfocus.org)NT平台拨号连接密码恢复原理Aut ...

  2. centos ADSL 拨号上网设置

    下面主要介绍一下,在CentOS命令行环境下如何配置 ADSL 联网: 1.确保安装了网卡并能正常运行,使用命令查看一下网卡状态: [root@localhost simon]# /sbin/ifco ...

  3. 利用ADSL拨号上网方式如何搭建服务器

    序:搭建服务器需要两个条件硬件服务器和固定公网IP,随便一台个人电脑都可以作为硬件服务器,就剩下一个问题,如何获得一个固定公网IP. 第一章 扫盲:ADSL拨号上网方式,本地IP与公网IP的区别 一. ...

  4. Ubuntu ADSL拨号上网

    一直在家用接ADSL的无线wifi上网,最近用了很久的NetGear无线路由器被我毁了,只好暂时用有线了.在Ubuntu Linux下也可直接使用ADSL拨号上网. 1.连接设备 这没什么可多说的,一 ...

  5. Linux操作系统上ADSL拨号上网的方法详解

    1.安装 yum install rp-pppoe.x86_64 2.配置PPPOE客户端软件 安装完软件包后,必须配置pppoe的配置文件/etc/ppp/pppoe.conf,从而让ADSL拨号时 ...

  6. ADSL拨号上网或者光纤上网设置概要(原创)

    不管是在梧州设置光纤还是在太平设置ADSL拨号上网每次设置上网一体机的时候都是遇到各种麻烦...这次又是弄了N久,每次问题各不一样.总结一下操作过程,方便以后又遇问题回头查询自个微博.一.设置电话线的 ...

  7. centos配置ADSL拨号 配置阿里云的yum源

    如果系统yum源有问题可以更改yum源配置阿里云的yum源1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo(没有 wget命令可 ...

  8. GPRS管理与创建APN拨号连接(转)

    源:http://www.cnblogs.com/michael-zhangyu/archive/2009/07/04/1516797.html 本文主要介绍一些GPRS管理与创建APN拨号连接相关的 ...

  9. WIN10 拨号连接下 如何开启移动热点

    错误提示为:我们无法设置移动热点,因为你的电脑未建立以太网,WIFI或手机网络连接. 解决方法: 1. 首先用手机或其他设备建立无线热点.  2. 电脑连接步骤1中的热点,电脑端打开移动热点.  3. ...

随机推荐

  1. ORA-00933 UNION 与 ORDER BY

    原文:http://blog.csdn.net/lwei_998/article/details/6093807 The UNION operator returns only distinct ro ...

  2. ext.apply和ext.applyIf

    apply的用法: Ext中apply及applyIf方法的应用 apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝. 不同的是apply将会覆盖目标对象 ...

  3. PL/SQL设置关键字大写

    Tools->Preferences->User Interface->Keyword case = Uppercase,就设置为大写了.

  4. ext等待提示

    1.Store加载信息等待 ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据:因此,我们需要给它添加一个提示信息! 但是Store却没有wai ...

  5. 适应手机端的jQuery图片滑块动画

    一款比较特别的jQuery图片滑块插件,它不仅在PC浏览器上可以使用,而且更适合在手机端的网页中使用.这款jQuery插件不仅可以定义图片切换的方向,而且可以即时切换图片切换的动画方式,可以有平移.翻 ...

  6. jquery hide() show()

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. [C]记录C语言中由于粗心遇到的奇葩错误.

    1. 正确代码: for( word = strtok( buf, whitespace); word != NULL; word = strtok( NULL, whitespace)) { ) 错 ...

  8. spinner 下拉框控件

    spinnerMode=dropdown时,为下拉模式spinnerMode=dialog时,会在界面中间弹出Android:popupBackground=”#f0000000”,可以去除spinn ...

  9. ARC下的内存泄露

    iOS提供了ARC功能,很大程度上简化了内存管理的代码. 但使用ARC并不代表了不会发生内存泄露,使用不当照样会发生内存泄露. 下面列举两种ARC导致内存泄露的情况. 1,循环参照 A有个属性参照B, ...

  10. 机器学习公开课~~~~mooc

    https://class.coursera.org/ntumlone-001/class/index