溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VB.NET如何啟動(dòng)撥號(hào)網(wǎng)絡(luò)中的連接

發(fā)布時(shí)間:2021-12-02 15:08:08 來(lái)源:億速云 閱讀:203 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)VB.NET如何啟動(dòng)撥號(hào)網(wǎng)絡(luò)中的連接,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

VB.NET網(wǎng)絡(luò)技巧案例:?jiǎn)?dòng)撥號(hào)網(wǎng)絡(luò)中的連接

由于撥號(hào)網(wǎng)絡(luò)不是一個(gè)可執(zhí)行文件, 所以要啟動(dòng)撥號(hào)網(wǎng)絡(luò),需要借助 explorer.exe 。但若是要啟動(dòng)撥號(hào)網(wǎng)絡(luò)中的某一個(gè)連接,則要借助rundll.exe 和 rnaui.dll兩個(gè)文件。啟動(dòng)方法如下(假定此連接名稱為163):

Shell “rundll rnaui.dll,RnaDial 163”,vbNormalFocus

上面假定了連接名稱,但在實(shí)際編程中我們是不知道連接名稱的。在窗體上放置一個(gè)命令按鈕(cmdCallConnect),在其單擊事件中進(jìn)行連接處理。下面的代碼介紹如何取得默認(rèn)的連接名稱并啟動(dòng)它:

Option Explicit  /*有關(guān)的API聲明*/   Private Declare Function RegOpenKeyEx Lib “advapi32” Alias “RegOpenKeyExA” (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long   Private Declare Function RegQueryvalueEx Lib “advapi32” Alias “RegQueryvalueExA” (ByVal hKey As Long, ByVal lpvalueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal szData As String, ByRef lpcbData As Long) As Long   Private Declare Function RegCloseKey Lib “advapi32”(ByVal hKey As Long) As Long  /*常數(shù)的設(shè)定*/   Const HKEY_CURRENT_USER = &H80000001   Const ERROR_SUCCESS = 0

在命令按鈕(cmdCallConnect)中加入如下代碼:

Private Sub cmdCallConnect_Click()   /*啟動(dòng)默認(rèn)撥號(hào)連接*/   Shell “rundll rnaui.dll,RnaDial” + GetConnect, vbNormalFocus   End Sub   /*取得連接的函數(shù)(GetConnect)*/   Public Function GetConnect() As String   Dim hKey As Long   Dim SubKey As String   /*主鍵*/   hKey = HKEY_CURRENT_USER   /*子鍵*/   SubKey = “RemoteAccess”   /*取得默認(rèn)連接名*/   GetConnect=GetRegvalue(hKey,SubKey, “Default”)   End Function   /*取得注冊(cè)的函數(shù)(GetRegvalue)*/   Public Function GetRegvalue(hKey As Long,lpszSubKey As String,szKey As String) As Variant   On Error GoTo ErrorRoutineErr:   Dim phkResult As Long   Dim lResult As Long   Dim szBuffer As String   Dim lBuffSize As Long   /*創(chuàng)建緩沖區(qū)*/   szBuffer = Space(255)   lBuffSize = Len(szBuffer)   /*打開(kāi)注冊(cè)鍵*/   RegOpenKeyEx hKey, lpszSubKey, 0, 1,phkResult   /*取得查詢結(jié)果*/   lResult = RegQueryvalueEx(phkResult, szKey, 0, 0, szBuffer, lBuffSize)   /*關(guān)閉注冊(cè)鍵*/   RegCloseKey phkResult   /*返回結(jié)果*/   If lResult = ERROR_SUCCESS Then   GetRegvalue = Left(szBuffer, lBuffSize - 1)   Else   GetRegvalue =“”   End If   Exit Function   /*意外處理*/   ErrorRoutineErr:   GetRegvalue =“”   End Function

關(guān)于“VB.NET如何啟動(dòng)撥號(hào)網(wǎng)絡(luò)中的連接”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI