程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 在VB程序中怎樣掛斷撥號網絡

在VB程序中怎樣掛斷撥號網絡

編輯: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
  
  運行時,按下按鈕就可以斷開撥號網絡的連接。->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved