[VB6][WMI] Реестр - Как получить перечень параметров

Тема в разделе "Банк полезных кодов", создана пользователем Dragokas, 3 авг 2014.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.495
    Симпатии:
    4.310
    Код (vb.net):
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const HKEY_CURRENT_USER = &H80000001

    Public oReg As Object

    Private Sub Form_Load()
        Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
        test
    End Sub

    Sub test()
        Dim sValues()
        Dim sTypes()
        Dim sKey        As String
        Dim lret        As Long
       
        sKey = "Environment"
       
        lret = oReg.EnumValues(HKEY_CURRENT_USER, sKey, sValues, sTypes)
       
        Stop
    End Sub
    В данном примере мы получаем перечень параметров
    подраздела: HKCU\Environment

    По достижении оператора Stop, в окне Locals (View -> Locals Windows (рус. - окно местных :)))
    мы увидим 2 массива:

    sValues - список параметров
    sTypes - типы этих параметров

    locals.png

    Индексы массивов соответствуют друг другу.
    К примеру,
    sTypes(1) = 2
    sValues(1) = "TMP"

    Это значит, что параметр TMP имеет тип 2.
    Далее смотрим расшифровку:

    Код (vb.net):
    Public Enum REG_TYPE
        REG_SZ = 1&
        REG_EXPAND_SZ = 2&
        REG_BINARY = 3&
        REG_DWORD = 4&
        REG_MULTI_SZ = 7&
    End Enum
    Тип 2 - это REG_EXPAND_SZ.
     
    Kиpилл и orderman нравится это.

Поделиться этой страницей