欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#.NET獲取撥號(hào)連接的寬帶連接方法

 更新時(shí)間:2015年06月17日 09:35:24   作者:RobinTang  
這篇文章主要介紹了C#.NET獲取撥號(hào)連接的寬帶連接方法,實(shí)例演示了一個(gè)C#封裝的ADSL撥號(hào)連接類及其使用方法,需要的朋友可以參考下

本文實(shí)例講述了C#.NET獲取撥號(hào)連接的寬帶連接方法。分享給大家供大家參考。具體如下:

該代碼直接可以用,我在XP VS2010 NET3.5上測(cè)試通過(guò)。

首先是ASDL的封裝

class SinASDL
{
  //ASDL在注冊(cè)表中的存放位置,這個(gè)是針對(duì)WinXP的,
  //不知道Win7是否是這個(gè),待驗(yàn)證
  private static String _adlskeys = @"RemoteAccess\Profile";
  public static String adlskeys
  {
    get
    {
      return _adlskeys;
    }
  }
  /// <summary>
  /// 獲取本機(jī)的撥號(hào)名稱,也就是本機(jī)上所有的撥號(hào)
  /// </summary>
  /// <returns></returns>
  public static String[] GetASDLNames()
  {
    RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(adlskeys);
    if (RegKey != null)
      return RegKey.GetSubKeyNames();
    else
      return null;
  }
  private String _asdlname = null;
  private ProcessWindowStyle _windowstyle = ProcessWindowStyle.Hidden;
  /// <summary>
  /// 實(shí)例化一個(gè)ASDL連接
  /// </summary>
  /// <param name="asdlname">ASDL名稱,如“寬帶連接”</param>
  /// <param name="username">用戶名</param>
  /// <param name="password">密碼</param>
  /// <param name="windowstyle">窗口顯示方式,默認(rèn)為因此撥號(hào)過(guò)程</param>
  public SinASDL(String asdlname, String username = null, String password = null, ProcessWindowStyle windowstyle = ProcessWindowStyle.Hidden)
  {
    this.ASDLName = asdlname;
    this.Username = username;
    this.Password = password;
    this.WindowStyle = windowstyle;
  }
  /// <summary>
  /// 撥號(hào)名稱
  /// </summary>
  public String ASDLName
  {
    get
    {
      return this._asdlname;
    }
    set
    {
      this._asdlname = value;
    }
  }
  /// <summary>
  /// 撥號(hào)進(jìn)程的窗口方式
  /// </summary>
  public ProcessWindowStyle WindowStyle
  {
    get
    {
      return this._windowstyle;
    }
    set
    {
      this._windowstyle = value;
    }
  }
  private String _username = null;  //用戶名
  private String _password = null;  //密碼
  /// <summary>
  /// 用戶名
  /// </summary>
  public String Username
  {
    get
    {
      return this._username;
    }
    set
    {
      this._username = value;
    }
  }
  /// <summary>
  /// 密碼
  /// </summary>
  public String Password
  {
    get
    {
      return this._password;
    }
    set
    {
      this._password = value;
    }
  }
  /// <summary>
  /// 開(kāi)始撥號(hào)
  /// </summary>
  /// <returns>返回?fù)芴?hào)進(jìn)程的返回值</returns>
  public int Connect()
  {
    Process pro = new Process();
    pro.StartInfo.FileName = "rasdial.exe";
    pro.StartInfo.Arguments = this.ASDLName + " " + this.Username + " " + this.Password;
    pro.StartInfo.WindowStyle = this.WindowStyle;
    pro.Start();
    pro.WaitForExit();
    return pro.ExitCode;
  }
  /// <summary>
  /// 端口連接
  /// </summary>
  /// <returns></returns>
  public int Disconnect()
  {
    Process pro = new Process();
    pro.StartInfo.FileName = "rasdial.exe";
    pro.StartInfo.Arguments = this.ASDLName + " /DISCONNECT";
    pro.StartInfo.WindowStyle = this.WindowStyle;
    pro.Start();
    pro.WaitForExit();
    return pro.ExitCode;
  }
}

下面是使用測(cè)試:

//SinASDL asdl = new SinASDL("寬帶連接", "08793312221", "123456");
//寬帶連接
//使用枚舉到的第一個(gè)進(jìn)行撥號(hào)
SinASDL asdl = new SinASDL(SinASDL.GetASDLNames()[0], "08793312221", "123456", System.Diagnostics.ProcessWindowStyle.Normal);
if (asdl.Connect() == 0)
{
  MessageBox.Show("Success");
}
else
{
  MessageBox.Show("Fail");
}

我自己測(cè)試的時(shí)候是通過(guò)的。

如果電腦上不止一個(gè)撥號(hào)的,那么你可以用SinASDL.GetASDLNames()進(jìn)行枚舉。

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論