Реестр

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Stas
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 20.05.2003 (Вт) 20:10

Реестр

Сообщение Stas » 03.06.2003 (Вт) 21:38

Как работать со всем реестром, а не только с VB And VBA Programm settings???

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 03.06.2003 (Вт) 22:26

Поиском в Yandex и Google.
http://www.yandex.ru/yandsearch?rpt=rad&text=Vb%20реестр
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 03.06.2003 (Вт) 23:22

Лови файл 8)
Вложения
Registry.zip
(1.17 Кб) Скачиваний: 75
ПРЕВЕД

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 04.06.2003 (Ср) 11:02

Или можно использовать это:
Вложения
ClassRegistry.zip
Класс для работы с реестром
(1.67 Кб) Скачиваний: 68

Mirus
Бывалый
Бывалый
 
Сообщения: 259
Зарегистрирован: 09.12.2001 (Вс) 18:25
Откуда: Russia

Сообщение Mirus » 04.06.2003 (Ср) 12:25

А как HEX значения прописать/считать из реестра?
Mirus

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 04.06.2003 (Ср) 12:40

Код: Выделить всё
Private Declare Function RegQueryValueExS Lib "advapi32.dll" _
Alias "RegQueryValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
ByVal lpData As String, _
lpcbData As Long) As Long

Private Declare Function RegSetValueExS Lib "advapi32.dll" _
Alias "RegSetValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
ByVal lpData As String, _
ByVal cbData As Long) As Long

Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long



Public Enum HKEY_CONSTANTS
    HKEY_CLASSES_ROOT = &H80000000
    HKEY_CURRENT_CONFIG = &H80000005
    HKEY_CURRENT_USER = &H80000001
    HKEY_DYN_DATA = &H80000006
    HKEY_LOCAL_MACHINE = &H80000002
    HKEY_PERFORMANCE_DATA = &H80000004
    HKEY_USERS = &H80000003
End Enum

Private Const REG_SZ = 1
Private Const REG_BT = 3

Public Function GetString(ByVal HomeKey As HKEY_CONSTANTS, ByVal KeyName As String, ByVal ValueName As String) As String
    Dim hKey As Long
    Dim sData As String
    Dim lres As Long
    Dim lDataType As Long
    Dim lDlen As Long

    lres = RegOpenKey(HomeKey, KeyName, hKey)

    If lres <> 0 Then
        GetRegString = vbNullString
        Exit Function
    End If
   
    sData = String$(64, 32) & Chr$(0)
    lDlen = Len(sData)

    lres = RegQueryValueExS(hKey, ValueName, 0, lDataType, sData, lDlen)

    If lres <> 0 Then
        GetRegString = vbNullString
        Exit Function
    End If

    If lDataType = REG_SZ Then
        GetString = Left(sData, lDlen - 1)
    ElseIf lDataType = REG_BT Then
        GetString = Left(sData, lDlen)
    Else
        GetString = vbNullString
    End If
   
    lres = RegCloseKey(hKey)
End Function


Public Sub SaveString(ByVal HomeKey As HKEY_CONSTANTS, ByVal KeyName As String, ByVal ValueName As String, ByVal Data As String)
    Dim hKey As Long
    Dim hSubKey  As Long
    Dim lres As Long
   
    lres = RegOpenKey(HomeKey, vbNullString, hKey)
   
    lres = RegCreateKey(HomeKey, KeyName, hSubKey)
    lres = RegSetValueExS(hSubKey, ValueName, 0, REG_SZ, Data + Chr$(0), Len(Data) + 1)
   
    lres = RegCloseKey(hSubKey)
    lres = RegCloseKey(hKey)
End Sub

Public Sub DeleteValue(ByVal HomeKey As HKEY_CONSTANTS, ByVal KeyName As String, ByVal ValueName As String)
    Dim hKey As Long
    Dim lres As Long

    lres = RegOpenKey(HomeKey, KeyName, hKey)

    If lres <> 0 Then Exit Sub
   
    lres = RegDeleteValue(hKey, ValueName)
    lres = RegCloseKey(hKey)
End Sub

Public Sub DeleteKey(ByVal HomeKey As HKEY_CONSTANTS, ByVal KeyName As String)
    Dim lres As Long

    lres = RegDeleteKey(HomeKey, KeyName)
End Sub

Public Function GetHKEY(Line As String) As HKEY_CONSTANTS
    Select Case Line
        Case "HKEY_CLASSES_ROOT"
            GetHKEY = HKEY_CLASSES_ROOT
        Case "HKEY_CURRENT_CONFIG"
            GetHKEY = HKEY_CURRENT_CONFIG
        Case "HKEY_CURRENT_USER"
            GetHKEY = HKEY_CURRENT_USER
        Case "HKEY_DYN_DATA"
            GetHKEY = HKEY_DYN_DATA
        Case "HKEY_LOCAL_MACHINE"
            GetHKEY = HKEY_LOCAL_MACHINE
        Case "HKEY_PERFORMANCE_DATA"
            GetHKEY = HKEY_PERFORMANCE_DATA
        Case "HKEY_USERS"
            GetHKEY = HKEY_USERS
    End Select
End Function





Помойму тут можно и HEX-значения править

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Сообщение Dagobert » 07.06.2003 (Сб) 9:19

2 GoGosha: По-моему этот код был взят с моего сайта
http://www25.brinkster.com/msvbasic [http://msvb.boom.ru].
Если так, то неплохо. Кстати класс на моём сайте ещё "умеет" сохранять в специальный раздел для программ, одной функцией.[/url]


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList