亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# 實現ADSL自動斷網和撥號的方法(適用于撥號用戶)

2020-01-24 00:53:51
字體:
來源:轉載
供稿:網友

封裝類:

using System;using System.Runtime.InteropServices;public struct RASCONN{  public int dwSize;  public IntPtr hrasconn;  [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 257)]  public string szEntryName;  [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 17)]  public string szDeviceType;  [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 129)]  public string szDeviceName;}[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]public struct RasStats{  public int dwSize;  public int dwBytesXmited;  public int dwBytesRcved;  public int dwFramesXmited;  public int dwFramesRcved;  public int dwCrcErr;  public int dwTimeoutErr;  public int dwAlignmentErr;  public int dwHardwareOverrunErr;  public int dwFramingErr;  public int dwBufferOverrunErr;  public int dwCompressionRatioIn;  public int dwCompressionRatioOut;  public int dwBps;  public int dwConnectionDuration;}[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]public struct RasEntryName{  public int dwSize;  //[MarshalAs(UnmanagedType.ByValTStr,SizeConst=(int)RasFieldSizeConstants.RAS_MaxEntryName + 1)]  public string szEntryName;  //#if WINVER5  // public int dwFlags;  // [MarshalAs(UnmanagedType.ByValTStr,SizeConst=260+1)]  // public string szPhonebookPath;  //#endif}public class RAS{  [DllImport("Rasapi32.dll", EntryPoint = "RasEnumConnectionsA",     SetLastError = true)]  internal static extern int RasEnumConnections    (    ref RASCONN lprasconn, // buffer to receive connections data    ref int lpcb, // size in bytes of buffer    ref int lpcConnections // number of connections written to buffer    );  [DllImport("rasapi32.dll", CharSet = CharSet.Auto)]  internal static extern uint RasGetConnectionStatistics(    IntPtr hRasConn,    // handle to the connection    [In, Out]RasStats lpStatistics // buffer to receive statistics    );  [DllImport("rasapi32.dll", CharSet = CharSet.Auto)]  public extern static uint RasHangUp(    IntPtr hrasconn // handle to the RAS connection to hang up    );  [DllImport("rasapi32.dll", CharSet = CharSet.Auto)]  public extern static uint RasEnumEntries(    string reserved,       // reserved, must be NULL    string lpszPhonebook,     // pointer to full path and    // file name of phone-book file    [In, Out]RasEntryName[] lprasentryname, // buffer to receive    // phone-book entries    ref int lpcb,         // size in bytes of buffer    out int lpcEntries       // number of entries written    // to buffer    );  [DllImport("wininet.dll", CharSet = CharSet.Auto)]  public extern static int InternetDial(    IntPtr hwnd,    [In]string lpszConnectoid,    uint dwFlags,    ref int lpdwConnection,    uint dwReserved    );  public RAS()  {  }}public enum DEL_CACHE_TYPE //要刪除的類型。{  File,//表示internet臨時文件  Cookie //表示Cookie}public class RASDisplay{  [DllImport("wininet.dll", CharSet = CharSet.Auto)]  public static extern bool DeleteUrlCacheEntry(    DEL_CACHE_TYPE type    );  private string m_duration;  private string m_ConnectionName;  private string[] m_ConnectionNames;  private double m_TX;  private double m_RX;  private bool m_connected;  private IntPtr m_ConnectedRasHandle;  RasStats status = new RasStats();  public RASDisplay()  {    m_connected = true;    RAS lpras = new RAS();    RASCONN lprasConn = new RASCONN();    lprasConn.dwSize = Marshal.SizeOf(typeof(RASCONN));    lprasConn.hrasconn = IntPtr.Zero;    int lpcb = 0;    int lpcConnections = 0;    int nRet = 0;    lpcb = Marshal.SizeOf(typeof(RASCONN));    nRet = RAS.RasEnumConnections(ref lprasConn, ref lpcb, ref      lpcConnections);    if (nRet != 0)    {      m_connected = false;      return;    }    if (lpcConnections > 0)    {      //for (int i = 0; i < lpcConnections; i++)      //{      RasStats stats = new RasStats();      m_ConnectedRasHandle = lprasConn.hrasconn;      RAS.RasGetConnectionStatistics(lprasConn.hrasconn, stats);      m_ConnectionName = lprasConn.szEntryName;      int Hours = 0;      int Minutes = 0;      int Seconds = 0;      Hours = ((stats.dwConnectionDuration / 1000) / 3600);      Minutes = ((stats.dwConnectionDuration / 1000) / 60) - (Hours * 60);      Seconds = ((stats.dwConnectionDuration / 1000)) - (Minutes * 60) - (Hours * 3600);      m_duration = Hours + " hours " + Minutes + " minutes " + Seconds + " secs";      m_TX = stats.dwBytesXmited;      m_RX = stats.dwBytesRcved;      //}    }    else    {      m_connected = false;    }    int lpNames = 1;    int entryNameSize = 0;    int lpSize = 0;    RasEntryName[] names = null;    entryNameSize = Marshal.SizeOf(typeof(RasEntryName));    lpSize = lpNames * entryNameSize;    names = new RasEntryName[lpNames];    names[0].dwSize = entryNameSize;    uint retval = RAS.RasEnumEntries(null, null, names, ref lpSize, out lpNames);    //if we have more than one connection, we need to do it again    if (lpNames > 1)    {      names = new RasEntryName[lpNames];      for (int i = 0; i < names.Length; i++)      {        names[i].dwSize = entryNameSize;      }      retval = RAS.RasEnumEntries(null, null, names, ref lpSize, out lpNames);    }    m_ConnectionNames = new string[names.Length];    if (lpNames > 0)    {      for (int i = 0; i < names.Length; i++)      {        m_ConnectionNames[i] = names[i].szEntryName;      }    }  }  public string Duration  {    get    {      return m_connected ? m_duration : "";    }  }  public string[] Connections  {    get    {      return m_ConnectionNames;    }  }  public double BytesTransmitted  {    get    {      return m_connected ? m_TX : 0;    }  }  public double BytesReceived  {    get    {      return m_connected ? m_RX : 0;    }  }  public string ConnectionName  {    get    {      return m_connected ? m_ConnectionName : "";    }  }  public bool IsConnected  {    get    {      return m_connected;    }  }  public int Connect(string Connection)  {    int temp = 0;    uint INTERNET_AUTO_DIAL_UNATTENDED = 2;    int retVal = RAS.InternetDial(IntPtr.Zero, Connection, INTERNET_AUTO_DIAL_UNATTENDED, ref temp, 0);    return retVal;  }  public void Disconnect()  {    RAS.RasHangUp(m_ConnectedRasHandle);  }}

調用方法:

RASDisplay ras = new RASDisplay();ras.Disconnect();//斷開連接ras.Connect("ADSL");//重新撥號

注意:斷開后連接時,如果不想出現確認對話框,請按下面的步驟進行設置:

1、右擊“網上鄰居”--屬性;

2、在隨后出現的“寬帶連接”窗口中,右擊寬帶連接,單擊“屬性”;

3、在隨后出現的屬性對話框中,單擊“選項”;

4、把隨后出現的“提示名稱、密碼和證書等”前面的對號去掉,點“確定”退出;

以上這篇C# 實現ADSL自動斷網和撥號的方法(適用于撥號用戶)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品视频在线导航| 日韩美女主播视频| 欧美日韩国产色| 亚洲第一国产精品| 国产午夜精品全部视频播放| 18久久久久久| 91精品视频网站| 国产日韩精品在线观看| 91精品国产91久久| 成人精品在线观看| 日韩最新av在线| 性色av一区二区三区红粉影视| 综合欧美国产视频二区| 午夜精品久久久久久久99热| 成人h猎奇视频网站| 亚洲成人av在线| 亚洲第一精品夜夜躁人人躁| 青草青草久热精品视频在线观看| 日韩精品极品在线观看播放免费视频| 亚洲男人天堂古典| 久久五月天色综合| 久热精品视频在线观看一区| 91在线视频一区| 国产91成人在在线播放| 久久天天躁狠狠躁夜夜av| 高清一区二区三区四区五区| 狠狠躁夜夜躁人人爽超碰91| 亚洲女同精品视频| 久久久精品国产| 亚洲大胆人体视频| 久久久人成影片一区二区三区观看| 国产性猛交xxxx免费看久久| 欧美亚洲成人精品| 日韩理论片久久| 欧美一区二区三区艳史| 亚洲色图美腿丝袜| 久久久成人的性感天堂| 亚洲一区二区在线播放| 欧美高清性猛交| 亚洲天堂免费视频| 亚洲欧美日韩天堂| 色香阁99久久精品久久久| 久久激情五月丁香伊人| 欧美黑人xxx| 国产精品扒开腿做爽爽爽视频| 中文字幕亚洲无线码a| 欧美激情亚洲另类| 国产精品福利片| 国产精品啪视频| 国产精品久久91| 国产欧美日韩中文字幕| 欧美在线一级va免费观看| 亚洲精品v天堂中文字幕| 国产精品电影网| 成人欧美一区二区三区在线湿哒哒| 亚洲高清av在线| 自拍偷拍亚洲在线| 亚洲精品乱码久久久久久金桔影视| 日韩成人在线播放| 欧美日韩国产va另类| 国产精品xxxxx| 日韩激情视频在线播放| 日韩性xxxx爱| 亚洲精品国产精品国自产观看浪潮| 欧美一级免费视频| 日韩成人黄色av| 福利视频第一区| 91社区国产高清| 视频在线观看99| 亚洲美女黄色片| 日韩美女视频在线观看| 久久夜色精品国产| 91久久中文字幕| 国产一区私人高清影院| 欧美日韩另类字幕中文| 国产欧美 在线欧美| 国产精品www网站| 91精品视频在线看| 中文字幕在线观看亚洲| 国产美女久久精品香蕉69| 91国产一区在线| 性色av一区二区三区红粉影视| 亚洲女人被黑人巨大进入| 成人欧美一区二区三区在线湿哒哒| 国产精品视频一| 国产精品视频成人| 亚洲理论电影网| 久久精品国产亚洲精品2020| 欧美激情国产精品| 国产精品午夜一区二区欲梦| 欧美在线中文字幕| 热久久视久久精品18亚洲精品| 精品精品国产国产自在线| 在线观看91久久久久久| 日韩亚洲在线观看| 97久久精品人搡人人玩| 亚洲色图17p| 亚洲精品国产美女| 欧美成aaa人片免费看| 亚洲裸体xxxx| yellow中文字幕久久| 欧美日韩在线观看视频小说| 国产精品第七影院| 久久精品小视频| 国产精品扒开腿做爽爽爽男男| 136fldh精品导航福利| 久久国产精品99国产精| 97视频网站入口| 国产亚洲精品久久久久动| 色婷婷综合久久久久中文字幕1| 国产在线拍揄自揄视频不卡99| 国产91精品久| 国产91成人在在线播放| 久久九九全国免费精品观看| 亚洲男女性事视频| 欧美色视频日本高清在线观看| 欧美日韩xxx| 国产精品劲爆视频| 欧美性在线观看| 日韩成人中文字幕在线观看| 狠狠色狠狠色综合日日五| 日韩精品免费在线观看| 久久在线免费观看视频| 亚洲欧美制服第一页| 日韩中文理论片| 精品久久久久久久久国产字幕| 日韩av高清不卡| 欧美黑人一区二区三区| 98精品国产自产在线观看| 国产精品对白刺激| 欧美诱惑福利视频| 91日韩在线视频| www亚洲欧美| 日韩视频―中文字幕| 国产精品久久久一区| 欧美久久精品午夜青青大伊人| 2019日本中文字幕| 欧美另类老女人| 亚洲免费伊人电影在线观看av| 欧美性猛交xxxx富婆弯腰| 搡老女人一区二区三区视频tv| 91精品久久久久| 精品福利在线观看| 日韩国产在线播放| 高清一区二区三区四区五区| 在线视频免费一区二区| 亚洲无线码在线一区观看| 韩国三级日本三级少妇99| 日韩精品免费一线在线观看| 精品久久久免费| 26uuu国产精品视频| 国产91免费看片| 亚洲a成v人在线观看| 久久久在线免费观看| 欧美性极品少妇精品网站| 欧美交受高潮1| 55夜色66夜色国产精品视频| 亚洲综合最新在线| 日韩精品免费一线在线观看| 久久精品99久久香蕉国产色戒| 国产精品亚洲综合天堂夜夜| 亚洲国模精品私拍| 亚洲成人av在线播放| 欧美在线xxx|