?? 106.htm
字號:
<p>在VB程序中怎樣掛斷撥號網絡</p>
<p> </p>
<p></p>
<p>北京理工大學 李 海</p>
<p> 要想控制撥號網絡,就要使用 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所需的聲明語句,我們在下面給出解決本問題所需要的函數和結構聲明。 </p>
<p></p>
<p> 為了運行下面這個例子,首先需要建立一個窗體,在窗體上放置一個按鈕,然后輸入以下語句: </p>
<p></p>
<p>Option Explicit</p>
<p>Private Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" _</p>
<p> (ByVal hRasConn As Long) As Long</p>
<p>Private Declare Function RasEnumConnections _</p>
<p> Lib "RasApi32.DLL" Alias "RasEnumConnectionsA" _</p>
<p> (lprasconn As Any, lpcb As Long,lpcConnections As Long) As Long</p>
<p></p>
<p>Const RAS95_MaxEntryName = 256</p>
<p>Const RAS95_MaxDeviceName = 128</p>
<p>Const RAS_MaxDeviceType = 16</p>
<p></p>
<p>Private Type RASCONN95</p>
<p> 'set dwsize to 412</p>
<p> dwSize As Long</p>
<p> hRasConn As Long</p>
<p> szEntryName(RAS95_MaxEntryName) As Byte</p>
<p> szDeviceType(RAS_MaxDeviceType) As Byte</p>
<p> szDeviceName(RAS95_MaxDeviceName) As Byte</p>
<p>End Type</p>
<p></p>
<p>Private Sub Command1_Click()</p>
<p> Dim lngRetCode As Long</p>
<p> Dim lpcb As Long</p>
<p> Dim lpcConnections As Long</p>
<p> Dim intArraySize As Integer</p>
<p> Dim intLooper As Integer</p>
<p> </p>
<p> ReDim lprasconn95(intArraySize) As RASCONN95</p>
<p> lprasconn95(0).dwSize = 412</p>
<p> lpcb = 256 * lprasconn95(0).dwSize</p>
<p> lngRetCode = RasEnumConnections(lprasconn95(0), lpcb, lpcConnections)</p>
<p> </p>
<p> If lngRetCode = 0 Then</p>
<p> If lpcConnections > 0 Then</p>
<p> For intLooper = 0 To lpcConnections - 1</p>
<p> RasHangUp lprasconn95(intLooper).hRasConn</p>
<p> Next intLooper</p>
<p> Else</p>
<p> MsgBox "沒有撥號網絡連接!", vbInformation</p>
<p> End If</p>
<p> End If</p>
<p>End Sub</p>
<p></p>
<p> 運行時,按下按鈕就可以斷開撥號網絡的連接。</p>
<p> </p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -