首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 创建vpn 有哪位高手做过? ~

2012-01-08 
c# 创建vpn 有谁做过?~~ ~~~以下是我找到的一段vb代码本人没有学过vb没有办法不会把他转换过来PrivateDecl

c# 创建vpn 有谁做过?~~ ~~~
以下是我找到的一段vb   代码   本人没有学过vb   没有办法   不会把他转换过来
Private   Declare   Sub   CopyMemory   Lib   "kernel32 "   Alias   "RtlMoveMemory "   (Destination   As   Any,   Source   As   Any,  

ByVal   Length   As   Long)

Private   Type   GUID
        Data1   As   Long
        Data2   As   Integer
        Data3   As   Integer
        Data4(7)   As   Byte
End   Type

Private   Type   RASIPADDR
        a   As   Byte
        b   As   Byte
        c   As   Byte
        d   As   Byte
End   Type

Private   Type   RASENTRY
        dwSize   As   Long
        dwfOptions   As   Long
        dwCountryID   As   Long
        dwCountryCode   As   Long
        szAreaCode(10)   As   Byte
        szLocalPhoneNumber(128)   As   Byte
        dwAlternateOffset   As   Long
        ipaddr   As   RASIPADDR
        ipaddrDns   As   RASIPADDR
        ipaddrDnsAlt   As   RASIPADDR
        ipaddrWins   As   RASIPADDR
        ipaddrWinsAlt   As   RASIPADDR
        dwFrameSize   As   Long
        dwfNetProtocols   As   Long
        dwFramingProtocol   As   Long
        szScript(259)   As   Byte
        szAutodialDll(259)   As   Byte
        szAutodialFunc(259)   As   Byte
        szDeviceType(16)   As   Byte
        szDeviceName(128)   As   Byte
        szX25PadType(32)   As   Byte
        szX25Address(200)   As   Byte
        szX25Facilities(200)   As   Byte
        szX25UserData(200)   As   Byte
        dwChannels   As   Long
        dwReserved1   As   Long
        dwReserved2   As   Long
        dwSubEntries   As   Long
        dwDialMode   As   Long
        dwDialExtraPercent   As   Long
        dwDialExtraSampleSeconds   As   Long
        dwHangUpExtraPercent   As   Long
        dwHangUpExtraSampleSeconds   As   Long
        dwIdleDisconnectSeconds   As   Long
        dwType   As   Long
        dwEncryptionType   As   Long
        dwCustomAuthKey   As   Long
        guidId   As   GUID
        szCustomDialDll(259)   As   Byte


        dwVpnStrategy   As   Long
        dwfOptions2   As   Long
        dwfOptions3   As   Long
        szDnsSuffix(255)   As   Byte
        dwTcpWindowSize   As   Long
        szPrerequisitePbk(259)   As   Byte
        szPrerequisiteEntry(256)   As   Byte
        dwRedialCount   As   Long
        dwRedialPause   As   Long
End   Type

Private   Type   RASCREDENTIALS
        dwSize   As   Long
        dwMask   As   Long
        szUserName(256)   As   Byte
        szPassword(256)   As   Byte
        szDomain(15)   As   Byte
End   Type

Private   Declare   Function   RasSetEntryProperties   Lib   "rasapi32 "   Alias   "RasSetEntryPropertiesA "   (ByVal  

lpszPhonebook   As   String,   ByVal   lpszEntry   As   String,   lpRasEntry   As   RASENTRY,   ByVal   dwEntryInfoSize   As  

Long,   ByVal   lpbDeviceInfo   As   Long,   ByVal   dwDeviceInfoSize   As   Long)   As   Long
Private   Declare   Function   RasSetCredentials   Lib   "rasapi32 "   Alias   "RasSetCredentialsA "   (ByVal  

lpszPhonebook   As   String,   ByVal   lpszEntry   As   String,   lpCredentials   As   RASCREDENTIALS,   ByVal  

fClearCredentials   As   Long)   As   Long

Private   Sub   Command1_Click()
        Dim   sEntryName   As   String,   sUsername   As   String,   sPassword   As   String

        sEntryName   =   "宽带连接 "
        sUsername   =   "super "
        sPassword   =   "greenbean "

        If   Create_PPPoE_Connection( "VPN ",   sEntryName,   sUsername,   sPassword)   Then
                MsgBox   "连接建立成功! "
        Else
                MsgBox   "连接建立失败! "
        End   If
End   Sub

Function   Create_PPPoE_Connection(ByVal   sDeviceType   As   String,   ByVal   sEntryName   As   String,   ByVal  

sUsername   As   String,   ByVal   sPassword   As   String)   As   Boolean
        Create_PPPoE_Connection   =   False

        Dim   re   As   RASENTRY
        Dim   sDeviceName   As   String   ',   sDeviceType   As   String
        sDeviceName   =   "WAN   微型端口   (PPTP) "
'         sDeviceType   =   "PPPoE "
'         sDeviceType   =   "PPTP "


        With   re
                .dwSize   =   LenB(re)
                .dwCountryCode   =   86
                .dwCountryID   =   86
                .dwDialExtraPercent   =   75
                .dwDialExtraSampleSeconds   =   120
                .dwDialMode   =   1
                .dwEncryptionType   =   3
                .dwfNetProtocols   =   4
                .dwfOptions   =   1024262928
                .dwfOptions2   =   367
                .dwFramingProtocol   =   1
                .dwHangUpExtraPercent   =   10
                .dwHangUpExtraSampleSeconds   =   120
                .dwRedialCount   =   3
                .dwRedialPause   =   60
                .dwType   =   5
                '3   直连
                '4   管理
                '5   宽带
                '7   普通
               
                CopyMemory   .szDeviceName(0),   ByVal   sDeviceName,   Len(sDeviceName)
                CopyMemory   .szDeviceType(0),   ByVal   sDeviceType,   Len(sDeviceType)
        End   With

        Dim   rc   As   RASCREDENTIALS
        With   rc
                .dwSize   =   LenB(rc)
                .dwMask   =   11
                CopyMemory   .szUserName(0),   ByVal   sUsername,   Len(sUsername)
                CopyMemory   .szPassword(0),   ByVal   sPassword,   Len(sPassword)
        End   With

        Dim   rtn   As   Long
        If   RasSetEntryProperties(vbNullString,   sEntryName,   re,   LenB(re),   0,   0)   =   0   Then
                If   RasSetCredentials(vbNullString,   sEntryName,   rc,   0)   =   0   Then
                        Create_PPPoE_Connection   =   True
                End   If
        End   If
End   Function


那位大哥大姐   帮帮忙




[解决办法]
这是VB调用API函数,不好转吧,直接找一段C#的代码给好一些吧
[解决办法]
关注
[解决办法]
关注中
[解决办法]
这么多api 内存操作,就是翻译过来也不一定能用

等ms推出.net版的,就好办了
[解决办法]
帮顶了!

热点排行