当前位置:编程学习 > VB >>

收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 用代码创建VPN连接的问题,怎么去掉为下面用户保存用户名和密码?

如题:用代码创建VPN连接的问题,怎么去掉为下面用户保存用户名和密码?
一个VB源码,需要修改哪里?


VB的代码:

VERSION 5.00
Begin VB.Form Form1   
  Caption = "Form1"
  ClientHeight = 3930
  ClientLeft = 60
  ClientTop = 450
  ClientWidth = 4650
  LinkTopic = "Form1"
  ScaleHeight = 3930
  ScaleWidth = 4650
  StartUpPosition = 3 '窗口缺省
  Begin VB.CommandButton Command1   
  Caption = "建立VPN连接"
  Height = 495
  Left = 1080
  TabIndex = 0
  Top = 1440
  Width = 1935
  End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
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 Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
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
    
  Dim sServer As String
  sServer = "www.vpn.com"
  sEntryName = "VPN连接"
  sUsername = ""
  sPassword = ""
  If Create_VPN_Connection(sEntryName, sServer, sUsername, sPassword) Then
  MsgBox "VPN连接建立成功!"
  Else
  MsgBox "VPN连接建立失败!"
  End If
End Sub

Function Create_VPN_Connection(ByVal sEntryName As String, ByVal sServer As String, ByVal sUsername As String, ByVal sPassword As String) As Boolean
  Create_VPN_Connection = False
  Dim re As RASENTRY
  Dim sDeviceName As String, sDeviceType As String
  sDeviceName = "WAN 微型端口 (L2TP)"
  sDeviceType = "vpn"
  With re
  .dwSize = LenB(re)
  .dwCountryCode = 86
  .dwCountryID = 86
  .dwDialExtraPercent = 75
  .dwDialExtraSampleSeconds = 120
  .dwDialMode = 1
  .dwfNetProtocols = 4
  .dwfOptions = 1024262928
  .dwfOptions2 = 367
  .dwFramingProtocol = 1
  .dwHangUpExtraPercent = 10
  .dwHangUpExtraSampleSeconds = 120
  .dwRedialCount = 3
  .dwRedialPause = 60
  .dwType = RASET_Vpn
  CopyMemory .szDeviceName(0), ByVal sDeviceName, Len(sDeviceName)
  CopyMemory .szDeviceType(0), ByVal sDeviceType, Len(sDeviceType)
  CopyMemory .szLocalPhoneNumber(0), ByVal sServer, Len(sServer) '服务器地址
  .dwVpnStrategy = VS_Default 'vpn类型
  .dwEncryptionType = ET_Optional '数据加密类型
  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_VPN_Connection = True
  End If
  End If
End Function 一、结帖率:0.00%
二、“怎么去掉为下面用户保存用户名和密码?”不知道在说啥。 就是点连接那用户名和密码下面有个 保存用户名和密码 的钩子 怎么用代码生成的时候可以去掉
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,