找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 14226|回复: 8

[交流] [分享]创建"宽带连接"源码

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2007-7-21 14:19:39 | 显示全部楼层 |阅读模式

  1. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
  2. Private Type GUID
  3.     Data1 As Long
  4.     Data2 As Integer
  5.     Data3 As Integer
  6.     Data4(7) As Byte
  7. End Type
  8. Private Type RASIPADDR
  9.     a As Byte
  10.     b As Byte
  11.     c As Byte
  12.     d As Byte
  13. End Type
  14. Private Type RASENTRY
  15.     dwSize As Long
  16.     dwfOptions As Long
  17.     dwCountryID As Long
  18.     dwCountryCode As Long
  19.     szAreaCode(10) As Byte
  20.     szLocalPhoneNumber(128) As Byte
  21.     dwAlternateOffset As Long
  22.     ipaddr As RASIPADDR
  23.     ipaddrDns As RASIPADDR
  24.     ipaddrDnsAlt As RASIPADDR
  25.     ipaddrWins As RASIPADDR
  26.     ipaddrWinsAlt As RASIPADDR
  27.     dwFrameSize As Long
  28.     dwfNetProtocols As Long
  29.     dwFramingProtocol As Long
  30.     szScript(259) As Byte
  31.     szAutodialDll(259) As Byte
  32.     szAutodialFunc(259) As Byte
  33.     szDeviceType(16) As Byte
  34.     szDeviceName(128) As Byte
  35.     szX25PadType(32) As Byte
  36.     szX25Address(200) As Byte
  37.     szX25Facilities(200) As Byte
  38.     szX25UserData(200) As Byte
  39.     dwChannels As Long
  40.     dwReserved1 As Long
  41.     dwReserved2 As Long
  42.     dwSubEntries As Long
  43.     dwDialMode As Long
  44.     dwDialExtraPercent As Long
  45.     dwDialExtraSampleSeconds As Long
  46.     dwHangUpExtraPercent As Long
  47.     dwHangUpExtraSampleSeconds As Long
  48.     dwIdleDisconnectSeconds As Long
  49.     dwType As Long
  50.     dwEncryptionType As Long
  51.     dwCustomAuthKey As Long
  52.     guidId As GUID
  53.     szCustomDialDll(259) As Byte
  54.     dwVpnStrategy As Long
  55.     dwfOptions2 As Long
  56.     dwfOptions3 As Long
  57.     szDnsSuffix(255) As Byte
  58.     dwTcpWindowSize As Long
  59.     szPrerequisitePbk(259) As Byte
  60.     szPrerequisiteEntry(256) As Byte
  61.     dwRedialCount As Long
  62.     dwRedialPause As Long
  63. End Type
  64. Private Type RASCREDENTIALS
  65.     dwSize As Long
  66.     dwMask As Long
  67.     szUserName(256) As Byte
  68.     szPassword(256) As Byte
  69.     szDomain(15) As Byte
  70. End Type
  71. 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
  72. 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
  73. Private Sub Form_Load()
  74. Dim sEntryName As String, sUsername As String, sPassword As String
  75.     sEntryName = "紫水晶编程论坛"
  76.     sUsername = "用户名"
  77.     sPassword = "密码"
  78.     If Create_PPPoE_Connection(sEntryName, sUsername, sPassword) Then
  79.         MsgBox "连接建立成功!"
  80.     Else
  81.         MsgBox "连接建立失败!"
  82.     End If
  83. End Sub
  84. Function Create_PPPoE_Connection(ByVal sEntryName As String, ByVal sUsername As String, ByVal sPassword As String) As Boolean
  85.     Create_PPPoE_Connection = False
  86.     Dim re As RASENTRY
  87.     Dim sDeviceName As String, sDeviceType As String
  88.     sDeviceName = "WAN 微型端口 (PPPOE)"
  89.     sDeviceType = "PPPoE"
  90.     With re
  91.         .dwSize = LenB(re)
  92.         .dwCountryCode = 86
  93.         .dwCountryID = 86
  94.         .dwDialExtraPercent = 75
  95.         .dwDialExtraSampleSeconds = 120
  96.         .dwDialMode = 1
  97.         .dwEncryptionType = 3
  98.         .dwfNetProtocols = 4
  99.         .dwfOptions = 1024262928
  100.         .dwfOptions2 = 367
  101.         .dwFramingProtocol = 1
  102.         .dwHangUpExtraPercent = 10
  103.         .dwHangUpExtraSampleSeconds = 120
  104.         .dwRedialCount = 3
  105.         .dwRedialPause = 60
  106.         .dwType = 5
  107.         CopyMemory .szDeviceName(0), ByVal sDeviceName, Len(sDeviceName)
  108.         CopyMemory .szDeviceType(0), ByVal sDeviceType, Len(sDeviceType)
  109.     End With
  110.     Dim rc As RASCREDENTIALS
  111.     With rc
  112.         .dwSize = LenB(rc)
  113.         .dwMask = 11
  114.         CopyMemory .szUserName(0), ByVal sUsername, Len(sUsername)
  115.         CopyMemory .szPassword(0), ByVal sPassword, Len(sPassword)
  116.     End With
  117.     Dim rtn As Long
  118.     If RasSetEntryProperties(vbNullString, sEntryName, re, LenB(re), 0, 0) = 0 Then
  119.         If RasSetCredentials(vbNullString, sEntryName, rc, 0) = 0 Then
  120.             Create_PPPoE_Connection = True
  121.         End If
  122.     End If
  123. End Function

复制代码

【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2007-7-21 21:18:03 | 显示全部楼层
<p>呵呵,好代码~~~</p><p>版主辛苦了!![em01]</p>
我就是嗷嗷叫的老马了......

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

 楼主| 发表于 2007-7-22 20:58:23 | 显示全部楼层
为人民服务
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2009-1-7 13:13:22 | 显示全部楼层
<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>everyone</i>在30/06/2009 10:31:43的发言:</b><br/>
<p>这个现在删除不了了。版主,能写详细点吗。具体怎么删除?</p></div>
<p>我晕,就两个参数啊.</p>
<p>&nbsp;</p>
<p><font face="Verdana">Call</font><font face="Verdana">&nbsp;RasDeleteEntry(vbNullString, "123")<br/></font></p>
<p>&nbsp;</p>
<p>那个123是你的连接名称,比如"拨号连接1"这些..........</p>
我就是嗷嗷叫的老马了......

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2009-6-29 21:26:17 | 显示全部楼层
<p>只创建,怎么没有删除呢?版主,创建了怎么删除呢???</p>

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2009-6-29 23:45:03 | 显示全部楼层
<span id="Mark" style="COLOR: #ee6600; BACKGROUND-COLOR: yellow"><font face="Verdana">RasDeleteEntry(vbNullString, "连接名称")</font></span>
我就是嗷嗷叫的老马了......

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2009-6-30 10:31:43 | 显示全部楼层
<p>这个现在删除不了了。版主,能写详细点吗。具体怎么删除?</p>

76

主题

375

回帖

0

精华

铜牌会员

积分
231
发表于 2009-7-1 08:50:46 | 显示全部楼层
怎么?版主?没法删除吗?

0

主题

56

回帖

0

精华

铜牌会员

积分
67
发表于 2010-6-25 12:59:26 | 显示全部楼层
好代码.................
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表