精华内容
下载资源
问答
  • DotRas.Internal.RasHelper.GetDevices() 在 DotRas.RasDevice.GetDevices() 在 DotRas.RasDevice.GetDeviceByName(String name, RasDeviceType deviceType, Boolean exactMatchOnly) 在 DotRas.Samples....
  • DotRAS-1.3 實現ADSL撥號DLL
  • C# 利用DotRas 操作adsl

    2019-07-16 17:49:16
    开源项目地址:http://dotras.codeplex.com/ 使用这个可以方便的操作ADSL拨号、断开。有详细的开发文档,需要的可以自己去看。。 /// <summary> /// 创建或更新一个PPPOE连接(指定PPPOE名称) /...

    开源项目地址: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();
                }
                // 创建一个新PPPOE
                else
                {
                    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);    //建立宽带连接Entry
                    entry.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

    展开全文
  • VS2015LC#使用DotRas完成ADSL连接与断开,工程、源码、DLL
  • 有些场合,为了避免服务对用户IP的限制或者为了用户的方便,可以通过代码实现自动化的拨号或者断网操作,通过DotRAS组件,可以非常方便的实现如ADSL、VPN等拨号以及相关操作,DotRAS组件是专门提供这样远程访问服务...
    

    有些场合,为了避免服务对用户IP的限制或者为了用户的方便,可以通过代码实现自动化的拨号或者断网操作,通过DotRAS组件,可以非常方便的实现如ADSL、VPN等拨号以及相关操作,DotRAS组件是专门提供这样远程访问服务的模块,本文介绍如何通过应用该组件,实现ADSL网络的拨号、断网、获取用户IP的操作。

    DotRAS组件的项目地址是:http://dotras.codeplex.com/  

    先看看Demo的界面效果

     

    具体的代码逻辑,是通过列出电话簿里面的拨号连接,设置是通过账户密码或者默认账户设置信息,进行拨号即可,使用DotRas组件,使得在DotNet中操作这些功能非常方便,代码贴上如下所示:

    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->        /// <summary>
            /// 测试拨号连接
            /// </summary>
            private void btnTest_Click(object sender, EventArgs e)
            {
                try
                {
                    RasDialer dialer = new RasDialer();
                    dialer.EntryName = "联通网络";
                    dialer.PhoneNumber = " ";
                    dialer.AllowUseStoredCredentials = true;
                    dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
                    dialer.Timeout = 1000;
                    dialer.Dial();

                    Thread.Sleep(100);
                    this.LoadConnections();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }

            /// <summary>
            /// 断开网络连接
            /// </summary>
            private void btnLogout_Click(object sender, EventArgs e)
            {
                ReadOnlyCollection<RasConnection> conList = RasConnection.GetActiveConnections();
                foreach (RasConnection con in conList)
                {
                    con.HangUp();
                }

                this.LoadConnections();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                 this.LoadConnections();
            }

            /// <summary>
            /// 显示活动的连接
            /// </summary>
            private void LoadConnections()
            {
                this.comboBox1.Items.Clear();
                this.comboBox1.Items.Add(new ComboBoxItem("请选择一个链接...", null));
                foreach (RasConnection connection in RasConnection.GetActiveConnections())
                {
                    this.comboBox1.Items.Add(new ComboBoxItem(connection.EntryName, connection.EntryId));
                }

                this.comboBox1.SelectedIndex = 0;
            }

            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                this.GetAddressButton.Enabled = this.comboBox1.SelectedIndex > 0;
            }

            /// <summary>
            /// 获取IP地址信息
            /// </summary>
            private void GetAddressButton_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                foreach (RasConnection connection in RasConnection.GetActiveConnections())
                {
                    if (connection.EntryId == (Guid)((ComboBoxItem)this.comboBox1.SelectedItem).Value)
                    {
                        RasIPInfo ipAddresses = (RasIPInfo)connection.GetProjectionInfo(RasProjectionType.IP);
                        if (ipAddresses != null)
                        {
                            sb.AppendFormat("ClientIP:{0}\r\n", ipAddresses.IPAddress.ToString());
                            sb.AppendFormat("ServerIP:{0}\r\n", ipAddresses.ServerIPAddress.ToString());
                        }
                    }
                    sb.AppendLine();
                }
                MessageBox.Show(sb.ToString());
            }

    通过以上的代码,可以非常方便实现宽带的拨号连接和获取IP等设置,不过断网之后,一般的IP还是和原来一样,这个可能和服务器的缓存有关系,为了实现拨号后,本地为不同的IP设置,需要特别的处理才可以。

    展开全文
  • 利用DotRas实现ADSL断线并自动拨号

    千次阅读 2011-10-26 14:56:59
    C#自动换IP,很多都是要弹拨号窗口的,利用dotras可以实现不弹窗 using DotRas;  private bool changeip()  {  try  {  string mypbk = RasPhoneBook.GetPhoneBookPath(RasPhoneBoo

    C#自动换IP,很多都是要弹拨号窗口的,利用dotras可以实现不弹窗

    using DotRas;       

    private bool changeip()
            {
                try
                {
                    string mypbk = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers).ToString();
                    RasConnection myconn = RasConnection.GetActiveConnectionByName("adsl", mypbk);
                    myconn.HangUp();
                    RasDialer dialer = new RasDialer();
                    dialer.DialCompleted += new EventHandler<DialCompletedEventArgs>(dialer_DialCompleted);
                    dialer.EntryName = "adsl";
                    dialer.PhoneNumber = "";
                    dialer.AllowUseStoredCredentials = true;
                    dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
                    dialer.Timeout = 5000;
                    rasdone = false;
                    RasHandle myras= dialer.Dial();
                    while(myras.IsInvalid)
                    {
                        Thread.Sleep(1000);
                        myras = dialer.Dial();
                    }
                    return true;
                }
                catch (Exception ex)
                {
                    writeerr("[changeip]"+ex.Message);
                    return false;
                }
            }

    展开全文
  • 有些场合,为了避免服务对用户IP的限制或者为了用户的方便,可以通过代码实现自动化的拨号或者断网操作,通过DotRAS组件,可以非常方便的实现如ADSL、VPN等拨号以及相关操作,DotRAS组件是专门提供这样远程访问服务...

    有些场合,为了避免服务对用户IP的限制或者为了用户的方便,可以通过代码实现自动化的拨号或者断网操作,通过DotRAS组件,可以非常方便的实现如ADSL、VPN等拨号以及相关操作,DotRAS组件是专门提供这样远程访问服务的模块,本文介绍如何通过应用该组件,实现ADSL网络的拨号、断网、获取用户IP的操作。

    DotRAS组件的项目地址是:http://dotras.codeplex.com/  

    先看看Demo的界面效果

    dotRas_1.png 

    具体的代码逻辑,是通过列出电话簿里面的拨号连接,设置是通过账户密码或者默认账户设置信息,进行拨号即可,使用DotRas组件,使得在DotNet中操作这些功能非常方便,代码贴上如下所示:

             ///   <summary>
             ///  测试拨号连接
             ///   </summary>
             private   void  btnTest_Click( object  sender, EventArgs e)
            {
                 try
                {
                    RasDialer dialer  =   new  RasDialer();
                    dialer.EntryName  =   " 联通网络 " ;
                    dialer.PhoneNumber  =   "   " ;
                    dialer.AllowUseStoredCredentials  =   true ;
                    dialer.PhoneBookPath  =  RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
                    dialer.Timeout  =   1000 ;
                    dialer.Dial();

     

                    Thread.Sleep(100);
                    this.LoadConnections();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }

            /// <summary>
            /// 断开网络连接
            /// </summary>
            private void btnLogout_Click(object sender, EventArgs e)
            {
                ReadOnlyCollection<RasConnection> conList = RasConnection.GetActiveConnections();
                foreach (RasConnection con in conList)
                {
                    con.HangUp();
                }

                this.LoadConnections();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                 this.LoadConnections();
            }

            /// <summary>
            /// 显示活动的连接
            /// </summary>
            private void LoadConnections()
            {
                this.comboBox1.Items.Clear();
                this.comboBox1.Items.Add(new ComboBoxItem("请选择一个链接...", null));
                foreach (RasConnection connection in RasConnection.GetActiveConnections())
                {
                    this.comboBox1.Items.Add(new ComboBoxItem(connection.EntryName, connection.EntryId));
                }

                this.comboBox1.SelectedIndex = 0;
            }

            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                this.GetAddressButton.Enabled = this.comboBox1.SelectedIndex > 0;
            }

            /// <summary>
            /// 获取IP地址信息
            /// </summary>
            private void GetAddressButton_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                foreach (RasConnection connection in RasConnection.GetActiveConnections())
                {
                    if (connection.EntryId == (Guid)((ComboBoxItem)this.comboBox1.SelectedItem).Value)
                    {
                        RasIPInfo ipAddresses = (RasIPInfo)connection.GetProjectionInfo(RasProjectionType.IP);
                        if (ipAddresses != null)
                        {
                            sb.AppendFormat("ClientIP:{0}\r\n", ipAddresses.IPAddress.ToString());
                            sb.AppendFormat("ServerIP:{0}\r\n", ipAddresses.ServerIPAddress.ToString());
                        }
                    }
                    sb.AppendLine();
                }
                MessageBox.Show(sb.ToString());
            }

     

     

    通过以上的代码,可以非常方便实现宽带的拨号连接和获取IP等设置,不过断网之后,一般的IP还是和原来一样,这个可能和服务器的缓存有关系,为了实现拨号后,本地为不同的IP设置,需要特别的处理才可以。 

    None.gif主要研究技术:代码生成工具、Visio二次开发、送水管理软件等共享软件开发
        
      转载请注明出处:
    None.gif撰写人:伍华聪  http: //www.iqidi.com 

     

    不错,不过,原作者,没有说,怎么让每次拔号之号,IP不一样。

    转载于:https://www.cnblogs.com/zqonline/archive/2010/09/07/1820198.html

    展开全文
  • 点点 为.NET语言(例如C#,VB.NET和C ++ CLR项目)提供远程访问服务(RAS)组件。 私人构建供稿位于: :
  • DOTRAS的断网要这么用

    千次阅读 2011-11-27 12:30:37
    之前官网给的是以下代码,经测试不太好用,有时会断不开:  string mypbk = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers).ToString();  RasConnection myconn = RasConnection.GetActiveConnecti
  • using DotRas.Internal; using DotRas; using Microsoft.Win32; using System.Runtime.InteropServices; 可还是不行 RASDIALPARAMS structure = new RASDIALPARAMS();还是报错~~求大神指导下
  • ADSL拨号连接

    2015-11-17 21:33:00
    dotras是一个提供远程访问服务的组件,使用它可以方便的 进行宽带拨号连接 由于不同的系统中dotras调用的底层api可能不同,所以使用时要根据不同的系统使用不同的dotrasdotras目前有以下几个包,在nuget中可以...
  • 获取本机所有的ADSL连接名称

    千次阅读 2011-11-06 19:16:03
    真郁闷呀,就这点代码,费半天劲,DOTRAS怎么会没有这个功能呢?  DOTRAS的就只有一个获取dotras.RasConnection.GetActiveConnections这应该是活动连接 '调用方法  Dim strADSL As String = ras.ListADSL()  If ...
  • using DotRas; using System.Runtime.InteropServices; using System.Net; /// <summary> /// 创建或更新一个PPPOE连接(指定PPPOE名称) /// </summary> public void CreateOrUpdatePPPOE(string ...
  • Some great libs

    2009-04-24 10:00:00
    JPCAP:http://netresearch.ics.uci.edu/kfujii/jpcap/doc/index.html WINCAP:http://www.winpcap.org/ DotRas:http://dotras.codeplex.com/ Dotnet DLL:http://pinvoke.net
  • 制作一个简易的登陆客户端

    万次阅读 2018-03-24 20:02:41
    为了解决校园网客户端的各种限制,所以...如下图:这里直接用现成DotRas对PPPoE软件进行操作一、核心的三个操作1、// 创建或更新一个PPPOE连接(指定PPPOE名称) void CreateOrUpdatePPPOE(string updatePPPOEname) ...
  • C#实现ADSL断开链接或者拨号

    万次阅读 2017-08-24 21:14:35
    同理,需要换IP,如果是直接拨号上网的话,可以考虑使用这个方法来更换IP,不过效果不是特别好,网络运营商好多都是就给你分配那...using DotRas; using System.Collections.ObjectModel; using System.Linq; using Sys
  • C#操作静态路由表,通过Windows原生API进行操作(效率比通过CMD操作的高很多),支持增、删、改、查、遍历 ...等等,差点忘了,如果有童鞋需要需要Demo,那么请下载“C#通过DotRas实现完美控制VPN和PPPo...
  • http://blog.csdn.net/hinyunsin/article/details/4033753...  http://dotras.codeplex.com/releases/view/32289 http://edu.cnzz.cn/Webmaster/SERVER/linux/2012/0428/9974.html http://network.51cto.com/art/2
  • 创立拨号点功能在64位Win7下不完善,DotRAS库有些小问题,64位win7用户请手动创建吧 如发现新Bug请反馈 zhangzhezh@gmail.com QQ:54424291 By Zhangzhezh ...
  • C#拨号代码(通过adsl拨号)

    千次阅读 2012-09-13 11:33:55
    好像可以使用 有时间可以研究下“C#使用DotRAS组件实现ADSL断网自动拨号” 在家一般都有一个MODEL 我们通过 ADSL即可拨号,下面是拨号程序 ,但没有判断现有的IP与之前 的IP 是否一样。。 以下代码是网找的,...
  • 创立拨号点功能在64位Win7下不完善,DotRAS库有些小问题,64位win7用户请手动创建吧 如发现新Bug请反馈 zhangzhezh@gmail.com QQ:54424291 By Zhangzhezh ...
  • 创立拨号点功能在64位Win7下不完善,DotRAS库有些小问题,64位win7用户请手动创建吧 如发现新Bug请反馈 zhangzhezh@gmail.com QQ:54424291 By Zhangzhezh ...
  • [转]程序员资料整理

    千次阅读 2017-02-21 16:11:57
    前言一些主流技术资源整理。目录 资料篇 技术站点 必看书籍 大牛博客 GitHub篇 工具篇 平台工具 常用工具 第三方服务 爬虫相关(好玩的工具) ...Web服务器性能/压力测试工具/负载均衡器 大数据处理/数据分析/分布式...
  • DotRAS:远程访问服务的模块 WinHtmlEditor: Winform下的html编辑器 SmartThreadPool:使用C#实现的,带高级特性的线程池 Snoop: WPF Spy Utility Autofac: 轻量级IoC框架 HtmlAgilityPack:...
  • 自动拨号源码

    2014-12-29 14:43:58
    根据输入的账号密码自动拨号的软件代码,提供了最基本的方法函数
  • RAS拨号文档c++

    2017-10-15 11:22:04
    文档关于RASdia 拨号的c++文档,用印象笔记在msdn剪藏下来的。MSDN是英文版,所以我同时利用插件翻译了文档。文档中既有原版也有中文版。2017.10.14
  • /// ADSL拨号帮助类 用DotRas实现 /// </summary> public class RASDisplay { public static string ADSLName { get; set; } public static string ADSLUserName { get; set; } public static string ...
  • 开发工具

    2016-02-26 15:16:14
    DotRAS:远程访问服务的模块 WinHtmlEditor: Winform下的html编辑器 SmartThreadPool:使用C#实现的,带高级特性的线程池 Snoop: WPF Spy Utility Autofac: 轻量级IoC框架 HtmlAgilityPack:...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...Hacker News:非常棒的针对编程的链接聚合网站 ...GitHub:全球最大的源代码管理平台,很多知名...DotRAS:远程访问服务的模块 WinHtmlEditor: Winform下的...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 239
精华内容 95
关键字:

DotRas