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

首頁 > 編程 > C# > 正文

用C#寫的ADSL撥號程序的代碼示例

2020-01-24 03:48:12
字體:
來源:轉載
供稿:網友
<!--StartFragment-->ADSL自動撥號類,前提是在系統中已經有了一個寬帶撥號連接
調用代碼:
RASDisplay ras = new RASDisplay();
ras.Disconnect();//斷線
ras.Connect("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("Ra<a , 
         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); 
    } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区欧美激情| 日本精品视频在线观看| 68精品久久久久久欧美| 亚洲精品视频中文字幕| 精品毛片三在线观看| 81精品国产乱码久久久久久| 欧美成人精品不卡视频在线观看| 韩国三级电影久久久久久| 欧美老女人在线视频| 精品久久久久久亚洲精品| 伊人久久久久久久久久| 亚洲bt天天射| 久久久精品日本| 国产一区二区三区在线观看网站| 日韩美女中文字幕| 久久免费在线观看| 亚洲黄色在线观看| 91精品久久久久久久久久久久久久| 成人www视频在线观看| 在线播放国产精品| 精品视频偷偷看在线观看| 高清欧美性猛交xxxx黑人猛交| 亚洲经典中文字幕| 亚洲国产精品va在线| 成人免费高清完整版在线观看| 国产精品久久中文| 一夜七次郎国产精品亚洲| 亚洲欧美一区二区三区四区| 日韩视频免费大全中文字幕| 日韩电影免费观看中文字幕| 欧美激情在线狂野欧美精品| 亚洲毛片一区二区| 国产成人精品最新| 欧美理论电影在线观看| 69精品小视频| 亚洲奶大毛多的老太婆| 国产性猛交xxxx免费看久久| 国产成人精品视频在线观看| 日韩在线观看成人| 欧美午夜视频一区二区| 欧美精品日韩www.p站| 日本免费在线精品| 亚洲精品久久久久久下一站| 欧美大片在线看| 欧美限制级电影在线观看| 久久国产色av| 51久久精品夜色国产麻豆| 日韩av在线免费看| 日韩动漫免费观看电视剧高清| 欧美自拍视频在线| 亚洲免费av片| 51久久精品夜色国产麻豆| 曰本色欧美视频在线| 色yeye香蕉凹凸一区二区av| 岛国精品视频在线播放| 欧美日韩国产精品一区二区不卡中文| 91久久久久久久久| 欧美最近摘花xxxx摘花| 日韩成人在线视频网站| 日韩在线免费高清视频| 亚洲色图欧美制服丝袜另类第一页| 91网站免费看| 国产成人精品久久二区二区| 91久久在线播放| 久久久精品国产网站| 51ⅴ精品国产91久久久久久| 欧美午夜女人视频在线| 欧美日韩免费一区| 国产一区二区三区在线播放免费观看| 国产精品久久久久久av下载红粉| 日本精品性网站在线观看| 91精品国产乱码久久久久久久久| 欧美激情女人20p| 77777亚洲午夜久久多人| 欧美二区乱c黑人| 国产精品欧美久久久| 亚洲天堂影视av| 欧美二区乱c黑人| 精品美女国产在线| 人人澡人人澡人人看欧美| 欧美视频在线看| 国产精品第1页| 亚洲国模精品一区| 亚洲在线观看视频网站| 亚洲成人中文字幕| 亚洲欧美国产一本综合首页| 亚洲网站视频福利| 亚洲精品日韩av| 久久久精品视频在线观看| 欧美精品亚州精品| 亚洲一区二区在线播放| 亚洲天堂一区二区三区| 中文字幕亚洲综合久久筱田步美| 亚洲午夜精品久久久久久性色| 欧美国产精品人人做人人爱| 国产国产精品人在线视| 国产日韩欧美自拍| 欧美日韩一二三四五区| 最近2019年好看中文字幕视频| 97精品国产91久久久久久| 国产日韩综合一区二区性色av| 欧美成人国产va精品日本一级| 国产精品久久久久久中文字| 狠狠躁夜夜躁人人爽超碰91| 色妞色视频一区二区三区四区| 国产成人福利夜色影视| 日韩av第一页| 亚洲精品日韩丝袜精品| 亚洲欧美在线x视频| 欧美日韩成人在线视频| 性欧美办公室18xxxxhd| 亚洲国产精彩中文乱码av| 日韩精品亚洲视频| 欧美日韩一区二区三区| 亚洲free嫩bbb| 欧美人与性动交a欧美精品| 亚洲欧洲高清在线| 欧美在线视频免费观看| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩裸体免费视频| 欧美国产一区二区三区| 亚洲精品999| 中文字幕日韩精品有码视频| 日本一区二区不卡| 亚洲人成免费电影| 日本91av在线播放| 久久久精品国产一区二区| 91在线观看免费网站| 精品视频在线播放色网色视频| 久久在线精品视频| 国内精品久久久久久中文字幕| 亚洲福利视频二区| 日韩电视剧免费观看网站| 欧美裸体男粗大视频在线观看| 国内精品视频一区| 色综合天天狠天天透天天伊人| 国产精品久久一| 成人久久久久久| 亚洲福利精品在线| 91亚洲国产精品| 国产玖玖精品视频| 亚洲精品电影网在线观看| xxxx性欧美| 日韩美女激情视频| 国产精品福利观看| 中文字幕九色91在线| 欧美性猛交xxxx乱大交| 久久久亚洲影院你懂的| 97国产精品免费视频| 91精品国产综合久久香蕉的用户体验| 日韩中文字幕在线| 久久精品99久久久久久久久| 伊人久久久久久久久久| 亚洲人a成www在线影院| 亚洲免费伊人电影在线观看av| 久久久www成人免费精品| 国产欧美日韩视频| 成人在线国产精品| 精品视频在线播放色网色视频| 麻豆国产精品va在线观看不卡| 国产一区二区黄| 日韩精品久久久久久福利| 日韩视频免费大全中文字幕| 亚洲性猛交xxxxwww|