• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    程序中如何啟動默認的撥號連接

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 14次 | 進入軟件測試論壇討論

    領測軟件測試網 隨著因特網的迅猛發展,現在編程常需要在程序中直接聯網來處理一些事項,如在線注冊和在線幫助,這就要求我們要在程序中建立某些連接。很多軟件在不知用戶是否聯網的情況下不管三七二十一就啟動瀏覽器查找網址,費了九牛二虎之力只能查出一錯誤頁來(當然不可能有什么好的結果)。如果我們在程序編寫時能自動判斷用戶是否已經聯網,如已經聯網則打開聯接,如沒有則啟動默認的撥號連接,這樣是不是讓人覺得你的軟件更勝人一處呢?判斷是否已聯網很多地方都有介紹,這里我們只介紹如何啟動默認的撥號連接。
    ---- 在介紹之前讓我們首先看看如何打開撥號網絡。由于撥號網絡不是一個可執行文件,所以不能用 “Shell 可執行文件”的方式來打開。要啟動撥號網絡,需借助 Explorer ,方法如下:

    Shell "Explorer ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\" & "::{992CFFA0-F557-101A-88EC-00DD010CCC48}", vbNormalFocus


    ---- 但若是要啟動撥號網絡中的某一個連接,則需借助rundll.exe 及 rnaui.dll來啟動,方法如下(假定連接名稱為163):

    Shell "rundll rnaui.dll,RnaDial 163", vbNormalFocus


    ---- 說明:在以上敘述中,“,RnaDial 163”這部分不要插入額外的空格,大小寫也不要任意更改。

    ---- 上面僅僅假定了連接名稱,但實際編程中我們是不知道其名稱的,如何取得默認的連接名稱并啟動它呢?這里我們可利用注冊表來達到目的。完整程序如下:

    ---- 在窗體上放置一個命令按鈕(名稱為 cmdCallConnect),下面為代碼部份:

    Option Explicit
         
    注釋:有關注冊的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
    注釋:常數
    Const HKEY_CURRENT_USER = &H80000001
    Const ERROR_SUCCESS = 0&
         
    Private Sub cmdCallConnect_Click()
    注釋:啟動默認撥號連接
    Shell "rundll rnaui.dll,RnaDial " + GetConnect, vbNormalFocus
    End Sub
         
    Public Function GetConnect() As String
    Dim hKey As Long
    Dim SubKey As String
    hKey = HKEY_CURRENT_USER  注釋:主鍵
    SubKey = "RemoteAccess"   注釋:子鍵
    注釋:取得默認連接名
    GetConnect = GetRegValue(hKey, SubKey, "Default")
    End Function

    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

    注釋:創建緩沖區
    szBuffer = Space(255)
    lBuffSize = Len(szBuffer)

    注釋:打開注冊鍵
    RegOpenKeyEx hKey, lpszSubKey, 0, 1, phkResult

    注釋:查詢結果
    lResult = RegQueryValueEx(phkResult,szKey, 0, 0, szBuffer,lBuffSize)

    注釋:關閉注冊鍵
    RegCloseKey phkResult

    注釋:返回結果
    If lResult = ERROR_SUCCESS Then
    GetRegValue = Left(szBuffer, lBuffSize - 1)
    Else
    GetRegValue = ""
    End If
    Exit Function

    ErrorRoutineErr:
    GetRegValue = ""
    End Function
    以上程序在 WIN98,VB6.0 下調試通過。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>