在VB程序中怎样挂断拨号网络
要想控制拨号网络,就要使用RemoteAccessService(RAS)API,这个API最早是在WindowsforWorkgroup3.11中出现的,现在它已经成为Win32API的一个组成部分。挂断拨号网络的函数叫RasHangUp,这个函数的功能和用法都很简单,它只有一个参数,就是要挂断的拨号网络连接的句柄。我们可以利用RasEnumConnections获得当前系统所有RAS连接(通常我们的系统在一个时刻只使用一个拨号网络连接),利用这个函数我们就可以得到RasHangUp所需的句柄了。不过RasEnumConnections函数在Windows95和WindowsNT下的使用略有不同,限于篇幅我们只给出在Windows95下调用该函数的例子。读者可以从Win32API的手册找到所有相关函数的详细介绍,不过VB的WIN32API.TXT中没有包括RASAPI所需的声明语句,我们在下面给出解决本问题所需要的函数和结构声明。
为了运行下面这个例子,首先需要建立一个窗体,在窗体上放置一个按钮,然后输入以下语句:
OptionExplicit
PrivateDeclareFunctionRasHangUpLib"RasApi32.DLL"Alias"RasHangUpA"(ByValhRasConnAsLong)AsLong
PrivateDeclareFunctionRasEnumConnectionsLib"RasApi32.DLL"Alias"RasEnumConnectionsA"(lprasconnAsAny,lpcbAsLong,lpcConnectionsAsLong)AsLong
ConstRAS95_MaxEntryName=256
ConstRAS95_MaxDeviceName=128
ConstRAS_MaxDeviceType=16
PrivateTypeRASCONN95
'setdwsizeto412
dwSizeAsLong
hRasConnAsLong
szEntryName(RAS95_MaxEntryName)AsByte
szDeviceType(RAS_MaxDeviceType)AsByte
szDeviceName(RAS95_MaxDeviceName)AsByte
EndType
PrivateSubCommand1_Click()
DimlngRetCodeAsLong
DimlpcbAsLong
DimlpcConnectionsAsLong
DimintArraySizeAsInteger
DimintLooperAsInteger
ReDimlprasconn95(intArraySize)AsRASCONN95
lprasconn95(0).dwSize=412
lpcb=256*lprasconn95(0).dwSize
lngRetCode=RasEnumConnections(lprasconn95(0),lpcb,lpcConnections)
IflngRetCode=0Then
IflpcConnections>0Then
ForintLooper=0TolpcConnections-1
RasHangUplprasconn95(intLooper).hRasConn
NextintLooper
Else
MsgBox"没有拨号网络连接!",vbInformation
EndIf
EndIf
EndSub
运行时,按下按钮就可以断开拨号网络的连接。
- 最新文章
- VisualBasic制作透明的表单(Form)[04-17]
- 让VisualBasic程序在新UserLogin时自动执行[04-17]
- VisualBasic程序启动时,自动判断Access资料库..[04-17]
- TextBox中接受某些特定字符,例如@#$,简单的写法[04-17]
- 怎样存取注册表信息[04-17]
- VB对低层硬件访问控制[04-17]
- 相关文章
- 用VB编写网络寻呼机[04-17]
- 复制数据库(2)--网络数据库的复制和同步(6)[04-17]
- VB网络篇游戏编程技巧指南[04-15]
- 复制数据库(1)--网络数据库的复制和同步(5)[04-15]
- 复本操作的对象、属性和方法(2)--网络数据库的复制和同步(..[04-15]
- 复本操作的对象、属性和方法(1)--网络数据库的复制和同步(..[04-15]
