日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 实现ADSL自动断网和拨号(适用于拨号用户)

發布時間:2025/1/21 C# 95 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 实现ADSL自动断网和拨号(适用于拨号用户) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

封裝類:

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 dataref int lpcb, // size in bytes of bufferref 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 NULLstring lpszPhonebook, // pointer to full path and// file name of phone-book file[In, Out]RasEntryName[] lprasentryname, // buffer to receive// phone-book entriesref int lpcb, // size in bytes of bufferout 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, reflpcConnections);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 againif (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、把隨后出現的“提示名稱、密碼和證書等”前面的對號去掉,點“確定”退出;

轉載于:https://www.cnblogs.com/qigege/p/4740279.html

總結

以上是生活随笔為你收集整理的C# 实现ADSL自动断网和拨号(适用于拨号用户)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩一级黄色片 | 国产第113页| 亚洲色图p | 亚洲综合网站 | av久草| 丰满双乳秘书被老板狂揉捏 | 日本亚洲欧美 | 国产一道本 | 夫妻自拍偷拍 | 一级国产片 | 爱久久| 激情五月婷婷小说 | 免费看片黄色 | 温柔女教师在线观看 | 久久久久久久久蜜桃 | xxx毛片 | 高柳家在线观看 | 少妇高潮久久久 | 男女视频免费网站 | 成人精品久久久午夜福利 | 亚av| 亚洲精品一区二区三区蜜桃 | a级黄色片网站 | 国产成人久久精品流白浆 | 亚洲婷婷在线观看 | 自拍三级视频 | 日韩精品一区不卡 | 毛片免费全部无码播放 | 久久久中文字幕 | 亚洲无人区码一码二码三码的含义 | 欧美乱码精品 | 一起射导航 | 亚洲av永久一区二区三区蜜桃 | 91蝌蚪少妇偷拍 | 深爱五月综合网 | 最新网址av | 在线观看免费大片 | 娇妻第一次尝试交换的后果 | 国产妇女馒头高清泬20p多 | 欧美日韩在线一区二区三区 | 天堂中文在线视频 | 成人三级晚上看 | 香蕉毛片 | 成年人视频免费在线观看 | 99热日本 | 国产人妖一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 欧美一区三区三区高中清蜜桃 | 国产福利一区二区三区 | 国产精品自拍合集 | 黄色片aa| 久久亚洲精品小早川怜子 | 蜜桃av噜噜一区二区三区 | 东凛在线观看 | 成人在线观看免费 | av国产在线观看 | 久久中文字幕视频 | 欧美 日韩 国产 精品 | 91偷拍网站 | 亚洲精品久久久 | 91国语对白 | 欧美片| 日韩黄色小视频 | 亚洲精品一区中文字幕乱码 | 亚洲免费视频一区二区三区 | 人妻精品一区一区三区蜜桃91 | 中文字幕资源网 | 性感美女被爆操 | 欧美综合亚洲 | 国产免费无码XXXXX视频 | 美国做爰xxxⅹ性视频 | 99精品欧美一区二区三区 | 久久亚洲a v | 四虎影库永久在线 | 日韩精品在线免费观看视频 | 二区久久| 91精品久久久久久久久久入口 | 在线免费观看视频你懂的 | 成人国产在线视频 | 亚洲精品综合在线观看 | 激情婷婷六月 | 国产一级二级三级在线 | 午夜av导航 | av在线专区| 久久黄色影视 | 99夜色 | 日韩中文字幕综合 | 欧美肉丝袜videos办公室 | 在线免费观看国产视频 | 日本免费视频 | www.四虎影视.com| 免费男女乱淫真视频免费播放 | 一区二区三区在线免费播放 | 999视频在线观看 | 中文久草 | 成人av在线资源 | 黄色片网站免费 | 亚洲av无码一区二区三区在线观看 | 国产伦精品一区二区三区精品 |