Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Чтение и запись реестра Windows при помощи VBA / 3 сообщений из 3, страница 1 из 1
29.03.2011, 11:06
    #37187302
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение и запись реестра Windows при помощи VBA
Примеров в сети много, что-то немного не то, мне надо - например есть папка реестра HKEY_CURRENT_USER
в ней есть папка Software, сначала бы считать все папки этой папки Software, и всё что находится в ней, как? подскажите скрипт
...
Рейтинг: 0 / 0
29.03.2011, 11:41
    #37187403
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение и запись реестра Windows при помощи VBA
WshShell.RegRead()
Пример скрипта - в соотв. статье MSDN.
...
Рейтинг: 0 / 0
30.03.2011, 20:27
    #37191109
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение и запись реестра Windows при помощи VBA
Akina, ладно, Эндрю поделится, а то ждёте небось
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
Option Explicit
'__________________________________________________________________
'служит процедуре Считываем_реестр_папку_HKEY_CURRENT_USER_Software
Private Const MAX_PATH As Long =  260 
 
Private Const HKEY_CLASSES_ROOT As Long = &H80000000
Private Const HKEY_CURRENT_USER As Long = &H80000001
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Const HKEY_USERS As Long = &H80000003
Private Const HKEY_PERFORMANCE_DATA As Long = &H80000004
Private Const HKEY_CURRENT_CONFIG As Long = &H80000005
 
Private Const KEY_READ As Long = &H20019
 
Private Const ERROR_SUCCESS As Long =  0 
 
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
 
Private Declare Function RegEnumKeyEx Lib "advapi32" Alias "RegEnumKeyExA" _
    (ByVal hKey As Long, _
    ByVal dwIndex As Long, _
    ByVal lpName As String, _
    lpcbName As Long, _
    ByVal lpReserved As Long, _
    ByVal lpClass As String, _
    lpcbClass As Long, _
    lpftLastWriteTime As FILETIME) As Long
 
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" ( _
    ByVal hKey As Long, _
    ByVal pSubKey As String, _
    ByVal ulOptions As Long, _
    ByVal samDesired As Long, phkResult As Long) As Long
'_________________________________________________________________________________
'конец блока служащего процедуре Считываем_реестр_папку_HKEY_CURRENT_USER_Software
    
 Sub Считываем_реестр_папку_HKEY_CURRENT_USER_Software()
 
    Dim dwIndex As Long
    Dim sTypeName As String
    Dim Все_программы As String
    Dim Программа As String
    Dim sSubkey As String * MAX_PATH
    Dim sClass As String * MAX_PATH
    Dim ft As FILETIME
    Dim lSubkey As Long
    Dim hKey As Long
    
    If RegOpenKeyEx(HKEY_CURRENT_USER, "Software",  0 , KEY_READ, hKey) <> ERROR_SUCCESS Then MsgBox$ "В реестре не имеется папки HKEY_CURRENT_USER, Software": Exit Sub
    
    lSubkey = MAX_PATH
    Все_программы = ""
    Do While RegEnumKeyEx(hKey, _
                          dwIndex, _
                          sSubkey, _
                          lSubkey, _
                           0 , sClass, _
                          MAX_PATH, ft) = ERROR_SUCCESS
                          Программа = Left(sSubkey, lSubkey)
        Debug.Print Программа
        lSubkey = MAX_PATH
        dwIndex = dwIndex +  1 
        Все_программы = Все_программы & Программа & Chr( 13 )
    Loop
MsgBox$ "Закончено, в реестре, в папке HKEY_CURRENT_USER, Software находятся папки:" & Chr( 13 ) & Все_программы & Chr( 13 ) & "Всего: " & dwIndex & " шт."
'Ворд находится в папке HKEY_CURRENT_USER, Software, Микрософт, Офис, Ворд

End Sub
Хотел спросить, ну есть в папке HKEY_CURRENT_USER, Software например прога 7 Zip, где там визуально можно глянуть когда она установлена и как это сделать програмно?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Чтение и запись реестра Windows при помощи VBA / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]