📄 tvb47.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0068)http://www.sxnw.gov.cn/personal/vbworld/articles/internet/tvb47.html -->
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.3700.6699" name=GENERATOR></HEAD>
<BODY>
<DIV align=center>
<CENTER>
<TABLE border=1 borderColorDark=#ffffff borderColorLight=#c8c8ff cellPadding=0
cellSpacing=0 width=766>
<TBODY>
<TR>
<TD>
<P align=center><STRONG>在VB程序中怎样挂断拨号网络<BR>李海</STRONG></P></TD></TR>
<TR>
<TD>---- 要想控制拨号网络,就要使用Remote Access Service (RAS) API,这个API最早是在Windows for
Workgroup 3.11中出现的,现在它已经成为Win32
API的一个组成部分。挂断拨号网络的函数叫RasHangUp,这个函数的功能和用法都很简单,它只有一个参数,就是要挂断的拨号网络连接的句柄。我们可以利用RasEnumConnections获得当前系统所有RAS连接(通常我们的系统在一个时刻只使用一个拨号网络连接),利用这个函数我们就可以得到RasHangUp所需的句柄了。不过RasEnumConnections函数在Windows
95和Windows NT下的使用略有不同,限于篇幅我们只给出在Windows 95下调用该函数的例子。读者可以从Win32
API的手册找到所有相关函数的详细介绍,不过VB的WIN32API.TXT中没有包括RAS
API所需的声明语句,我们在下面给出解决本问题所需要的函数和结构声明。 <BR>----
为了运行下面这个例子,首先需要建立一个窗体,在窗体上放置一个按钮,然后输入以下语句: <BR><BR>Option
Explicit<BR>Private Declare Function RasHangUp Lib <BR>"RasApi32.DLL"
Alias "RasHangUpA" <BR>(ByVal hRasConn As Long) As Long<BR>Private Declare
Function RasEnumConnections<BR>Lib "RasApi32.DLL" Alias
"RasEnumConnectionsA" <BR>(lprasconn As Any, lpcb As
Long,<BR>lpcConnections As Long) As Long<BR><BR>Const RAS95_MaxEntryName =
256<BR>Const RAS95_MaxDeviceName = 128<BR>Const RAS_MaxDeviceType =
16<BR><BR>Private Type RASCONN95<BR>'set dwsize to 412<BR>dwSize As
Long<BR>hRasConn As Long<BR>szEntryName(RAS95_MaxEntryName) As
Byte<BR>szDeviceType(RAS_MaxDeviceType) As
Byte<BR>szDeviceName(RAS95_MaxDeviceName) As Byte<BR>End
Type<BR><BR>Private Sub Command1_Click()<BR>Dim lngRetCode As Long<BR>Dim
lpcb As Long<BR>Dim lpcConnections As Long<BR>Dim intArraySize As
Integer<BR>Dim intLooper As Integer<BR><BR>ReDim lprasconn95(intArraySize)
As RASCONN95<BR>lprasconn95(0).dwSize = 412<BR>lpcb = 256 *
lprasconn95(0).dwSize<BR>lngRetCode =
RasEnumConnections<BR>(lprasconn95(0), lpcb, lpcConnections)<BR><BR>If
lngRetCode = 0 Then<BR>If lpcConnections > 0 Then<BR>For intLooper = 0
To lpcConnections - 1<BR>RasHangUp lprasconn95(intLooper).hRasConn<BR>Next
intLooper<BR>Else<BR>MsgBox "没有拨号网络连接!", vbInformation<BR>End If<BR>End
If<BR>End Sub<BR><BR>----
运行时,按下按钮就可以断开拨号网络的连接。</TD></TR></TBODY></TABLE></CENTER></DIV>
<P align=center><BR></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -