⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何断开拨号网络.txt

📁 VB技巧问答10000例 VB技巧问答10000例
💻 TXT
字号:
要 想 控 制 拨 号 网 络 , 就 要 使 用 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所 需 的 声 明 语 句 , 我 们 在 下 面 给 出 解 决 本 问 题 所 需 要 的 函 数 和 结 构 声 明 。 如 果 希 望 深 入 研 究 这 个 问 题 , 可 以 访 问 参 考 “在VB中如何实现自动启动拨号网络”, 从 中 可 以 找 到 完 整 的 RAS API声 明 和 在 Windows NT下 调 用 RasEnumConnections函 数 的 例 子 。 
    为 了 运 行 下 面 这 个 例 子 , 首 先 需 要 建 立 一 个 窗 体 , 在 窗 体 上 放 置 一 个 按 钮 , 然 后 输 入 以 下 语 句 : 
    Option Explicit 
    Private Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long 
    Private Declare Function RasEnumConnections Lib "RasApi32.DLL" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As Long) As Long 
     
    Const RAS95_MaxEntryName = 256 
    Const RAS95_MaxDeviceName = 128 
    Const RAS_MaxDeviceType = 16 
     
    Private Type RASCONN95 
     'set dwsize to 412 
     dwSize As Long 
     hRasConn As Long 
     szEntryName(RAS95_MaxEntryName) As Byte 
     szDeviceType(RAS_MaxDeviceType) As Byte 
     szDeviceName(RAS95_MaxDeviceName) As Byte 
    End Type 
     
    Private Sub Command1_Click() 
     Dim lngRetCode As Long 
     Dim lpcb As Long 
     Dim lpcConnections As Long 
     Dim intArraySize As Integer 
     Dim intLooper As Integer 
     
     ReDim lprasconn95(intArraySize) As RASCONN95 
     lprasconn95(0).dwSize = 412 
     lpcb = 256 * lprasconn95(0).dwSize 
     lngRetCode = RasEnumConnections(lprasconn95(0), lpcb, lpcConnections) 
     
     If lngRetCode = 0 Then 
     If lpcConnections > 0 Then 
     For intLooper = 0 To lpcConnections - 1 
     RasHangUp lprasconn95(intLooper).hRasConn 
     Next intLooper 
     Else 
     MsgBox "没 有 拨 号 网 络 连 接 ! ", vbInformation 
     End If 
     End If 
    End Sub 
    运 行 时 , 按 下 按 钮 就 可 以 断 开 拨 号 网 络 的 连 接 。 
<END>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -