📄 main.frm
字号:
VERSION 5.00
Begin VB.Form Main
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4815
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4815
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text2
Height = 375
Left = 1800
TabIndex = 7
Text = "Text2"
Top = 1200
Width = 2295
End
Begin VB.TextBox Text1
Height = 375
Left = 1800
TabIndex = 6
Text = "Text1"
Top = 720
Width = 2295
End
Begin VB.ComboBox Combo1
Height = 300
Left = 1800
TabIndex = 2
Text = "Combo1"
Top = 240
Width = 2295
End
Begin VB.CommandButton Command2
Caption = "挂断"
Height = 495
Left = 2760
TabIndex = 1
Top = 2040
Width = 1575
End
Begin VB.CommandButton Command1
Caption = "拨号"
Height = 495
Left = 480
TabIndex = 0
Top = 2040
Width = 1575
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "密码:"
Height = 180
Left = 1200
TabIndex = 5
Top = 1320
Width = 540
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "用户名:"
Height = 180
Left = 1020
TabIndex = 4
Top = 840
Width = 720
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "可用的连接:"
Height = 180
Left = 660
TabIndex = 3
Top = 240
Width = 1080
End
End
Attribute VB_Name = "Main"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub CopyByte(dest() As Byte, sour() As Byte)
Dim sourL As Long, sourU As Long
Dim destL As Long, destU As Long, i As Long, j As Long
sourL = LBound(sour)
sourU = UBound(sour)
destL = LBound(dest)
destU = UBound(dest)
j = 0
For i = sourL To sourU
dest(destL + j) = sour(i)
j = j + 1
If j >= (destU - destL) + 1 Then
Exit For
End If
Next i
End Sub
' 获得对应拨号连接的用户名和密码
Private Sub Combo1_Click()
Dim RasDialPara As RASDIALPARAMS
Dim len5 As Long, i As Long
Dim hRasConn As Long
Dim bya() As Byte
Dim p As Long
' 注意此处98系统和2000系统不一致
RasDialPara.dwSize = 1060
bya = StrConv(Combo1.Text, vbFromUnicode) + ChrB(0)
Call CopyByte(RasDialPara.szEntryName, bya)
l = RasGetEntryDialParams(vbNullString, RasDialPara, p)
a$ = StrConv(RasDialPara.szUserName, vbUnicode)
Text1.Text = Left$(a$, InStr(a$, Chr$(0)) - 1)
a$ = StrConv(RasDialPara.szPassword, vbUnicode)
Text2.Text = Left$(a$, InStr(a$, Chr$(0)) - 1)
End Sub
Private Sub Command1_Click()
Dim RasDialPara As RASDIALPARAMS
Dim len5 As Long, i As Long
Dim hRasConn As Long
Dim bya() As Byte
Dim p As Long
' 注意此处98系统和2000系统不一致
RasDialPara.dwSize = 1060
bya = StrConv(Combo1.Text, vbFromUnicode) + ChrB(0)
Call CopyByte(RasDialPara.szEntryName, bya)
l = RasGetEntryDialParams(vbNullString, RasDialPara, p)
'若使用以下CallBack function的方式,则RasDial()不等连线成功或失败便结束。
'di = RasDial(0, PhoneBook, RasDialPara, 0, AddressOf RasDialFunc, hRasConn)
'若第二、三个叁数都是0则,RasDial会等连线成功或失败後才执行下一行指令
di = RasDial(ByVal 0&, vbNullString, RasDialPara, 0, 0, hRasConn)
If di = 0 Then
DialUp = hRasConn
Else
DialUp = 0
Dim str5 As String
str5 = String(255, Chr(0))
Call RasGetErrorString(di, str5, 256)
MsgBox Left(str5, InStr(1, str5, Chr(0)) - 1), vbCritical
Call RasHangUp(hRasConn)
End If
End Sub
Private Sub Form_Load()
Dim s As Long, l As Long, ln As Long, a$
ReDim R(255) As RASENTRYNAME95
R(0).dwSize = 264
s = 256 * R(0).dwSize
l = RasEnumEntries(vbNullString, vbNullString, R(0), s, ln)
For l = 0 To ln - 1
a$ = StrConv(R(l).szEntryName(), vbUnicode)
Combo1.AddItem Left$(a$, InStr(a$, Chr$(0)) - 1)
Next
Combo1.ListIndex = 0
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -