如何建立拨号联接

文章作者 100test 发表时间 2008:01:25 09:41:20
来源 100Test.Com百考试题网


Public Const RAS_MaxEntryName = 256

Private Type RASENTRYNAME
dwSize As Long
szEntryName(RAS_MaxEntryName) As Byte
End Type

c 中 Char aa[16] 代表长度是16,可放 15个byte所以对应於vb便是 aa(15) as Byte
如此才是长度16 ( 0--15)。故VB的宣告中不能再用szEntryName(RAS_MaxEntryName 1)

但是Lenb(RASENTRYNAME)的长度却是 261 (4 257),的确,这是vb的问题,而c 的SizeOf
传回的是4的倍数(32位元嘛)故值为264,所以我们计算某个Structure的长度时,要再多一
些运算。

以下的Fuction只适用於32位元的win95/ NT,

以下在Form中

Private hConn as Long
Private Sub Command1_Click()
hConn = Dialup("我的连线", "user", "passwd")
if hConn = 0 Then
Debug.Print "连线失败"
end if
End Sub

Private Sub Command2_Click()
Call HangUp(hConn)
End Sub

以下在.bas中
Option Explicit
Public Const RAS_MaxEntryName = 256
Public Const RAS_MaxDeviceName = 128
Public Const RAS_MaxDeviceType = 16
Public Const RAS_MaxPhoneNumber = 128
Public Const RAS_MaxCallbackNumber = 128
Public Const UNLEN = 256
Public Const PWLEN = 256
Public Const DNLEN = 15
Public Const ERROR_INVALID_HANDLE = 6
Type RASDIALPARAMS
dwSize As Long 1052
szEntryName(RAS_MaxEntryName) As Byte
szPhoneNumber(RAS_MaxPhoneNumber) As Byte
szCallbackNumber(RAS_MaxCallbackNumber) As Byte
szUserName(UNLEN) As Byte
szPassword(PWLEN) As Byte
szDomain(DNLEN) As Byte
End Type

Type RASCONNSTATUS
dwSize As Long 144
RasConnState As Long
dwError As Long
szDeviceType(RAS_MaxDeviceType) As Byte
szDeviceName(RAS_MaxDeviceName) As Byte
End Type

Declare Function RasGetErrorString Lib "rasapi32" _
Alias "RasGetErrorStringA" (ByVal ErrValue As Long, ByVal lpErrStr As String, _
ByVal cSize As Long) As Long
Declare Function RasDial Lib "rasapi32" _
Alias "RasDialA" (DialExt As Long, ByVal lpPhoneBook As String, _
RasDialParam As RASDIALPARAMS, ByVal NotifyType As Long, _
ByVal Notifter As Long, hRasConn As Long) As Long
Declare Function RasHangUp Lib "rasapi32" Alias _
"RasHangUpA" (ByVal hRasConn As Long) As Long
Declare Function RasGetConnectStatus Lib "rasapi32" Alias _
"RasGetConnectStatusA" (ByVal hRasConn As Long, _
lprasconnstatus As RASCONNSTATUS) As Long
Declare Function RasGetEntryDialParams Lib "rasapi32" _
Alias "RasGetEntryDialParamsA" (ByVal lpszPhonebook As String, _
lpRasDialParams As RASDIALPARAMS, _
lpfPassword As Byte) As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


相关文章


在VB中使用文件对象
用VisualBasic6.0编写客户服务器程序
学习用VB制作浏览器
用VB实现客户——服务器(TCP_IP)编程实例
如何建立拨号联接
在VB中使用UDP协议
在VB中实现文件上载
在VB程序中怎样挂断拨号网络
VB中Wi ock控制的UDP协议的使用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛