Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.09.2005, 10:02
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
Привет! Пишу прогу на VBA в Word'e. Нужно прочитать строковый ключ реестра. Как это сделать? З.Ы. Записывать в реестр получается: Код: plaintext 1. 2. 3. 4. 5.
______________________________ Never Surrender - Nothing Impossible! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.09.2005, 10:07
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
object.RegRead(strName), object.RegDelete strName ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.09.2005, 10:08
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
Как записать\прочитать параметр в реестр Автор ответа: Dufa Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long 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 RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal szData As String, ByVal cbData As Long) As Long Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey 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 RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) ' Registry keys Private Enum hKey HKEY_CLASSES_ROOT = &H80000000 HKEY_CURRENT_USER = &H80000001 HKEY_LOCAL_MACHINE = &H80000002 HKEY_USERS = &H80000003 HKEY_PERFORMANCE_DATA = &H80000004 HKEY_CURRENT_CONFIG = &H80000005 HKEY_DYN_DATA = &H80000006 End Enum ' Registry access constants Private Enum Reg KEY_QUERY_VALUE = &H1 KEY_SET_VALUE = &H2 KEY_CREATE_SUB_KEY = &H4 KEY_ENUMERATE_SUB_KEYS = &H8 KEY_NOTIFY = &H10 KEY_CREATE_LINK = &H20 KEY_READ = KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY KEY_WRITE = KEY_SET_VALUE Or KEY_CREATE_SUB_KEY KEY_ALL_ACCESS = KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_SUB_KEY Or KEY_CREATE_LINK Or KEY_SET_VALUE REG_OPTION_NON_VOLATILE = 0& REG_OPTION_VOLATILE = &H1 End Enum 'ФУНКЦИЯ ДЛЯ ЧТЕНИЯ СТРОКОВОГО ПАРАМЕТРА Private Function RegGetString(Root As hKey, SubKey As String, Key As String) As String Dim Buffer As String, hKey As Long, nType As Long, nSize As Long RegGetString = 0 If Not RegOpenKeyEx(Root, SubKey, 0, KEY_READ, hKey) Then nSize = 0 Call RegQueryValueEx(hKey, Key, 0, nType, Buffer, nSize) If hKey And nSize > 0 And nType = 1 Then Buffer = Space(nSize + 1) RegQueryValueEx hKey, Key, 0, nType, Buffer, nSize RegGetString = Left(Buffer, nSize - 1) Call RegCloseKey(hKey) End If End If End Function 'ФУНКЦИЯ ДЛЯ ЗАПИСИ СТРОКОВОГО ПАРАМЕТРА Private Sub RegSetString(Root As Long, SubKey As String, Key As String, Value As String) Dim hKey As Long, nDisp As Long If Not RegCreateKeyEx(Root, SubKey, 0, vbNull, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, hKey, nDisp) Then Call RegSetValueEx(hKey, Key, 0, 1, Value, Len(Value) + 1) Call RegCloseKey(hKey) End If End Sub 'ФУНКЦИЯ ДЛЯ ЧТЕНИЯ ПАРАМЕТРА ТИПА DWORD Public Function RegGetDWORD(Root As Long, SubKey As String, strValueName As String) As Long Dim lResult As Long, lValueType As Long, lBuf As Long, lDataBufSize As Long, keyhand As Long Call RegOpenKey(Root, SubKey, keyhand) lDataBufSize = 4 lResult = RegQueryValueEx(keyhand, strValueName, 0&, lValueType, lBuf, lDataBufSize) If lResult = 0 And lValueType = 4 Then RegGetDWORD = lBuf Call RegCloseKey(keyhand) End Function 'ФУНКЦИЯ ДЛЯ ЗАПИСИ ПАРАМЕТРА ТИПА DWORD Public Sub RegSetDWORD(Root As Long, SubKey As String, strValueName As String, ByVal Value As Long) Dim lResult As Long, keyhand As Long Call RegCreateKey(Root, SubKey, keyhand) lResult = RegSetValueEx(keyhand, strValueName, 0&, 4, Value, 4) Call RegCloseKey(keyhand) End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.09.2005, 10:14
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
AndreyMp Как записать\прочитать параметр в реестр Автор ответа: Dufa И это будет работать в Word-е? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.09.2005, 10:17
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
2 Melkiades: Спасибо! 2 AndreyMp: Не знаю, будет ли это работать, но вариант Melkiades'a проще. Но всё равно спасибо! ______________________________ Never Surrender - Nothing Impossible! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.09.2005, 12:30
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
Ну как это будет выглядеть в Ворде я не пробовал, но как Вы заметили это АПИ-функции и должны работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.09.2005, 10:42
|
|||
---|---|---|---|
Как прочитать ключ реестра? |
|||
#18+
А так не проще? Код: plaintext 1.
TeleProjectPath - это ключ, значение которого читается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2005, 12:28
|
|||
---|---|---|---|
|
|||
Как прочитать ключ реестра? |
|||
#18+
API - слишком сложно, WScript.Shell - слишком просто (например, прочитать все значения определённого ключа не получится, работать с параметрами, в названиях которых есть слеши - тоже). Но есть золотая середина :-) А именно - WMI, класс StdRegProv. Вот здесь есть инфа . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.08.2007, 13:58
|
|||
---|---|---|---|
|
|||
Как прочитать ключ реестра? |
|||
#18+
Azart, спасибо! Начинающему - начинать только с этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&mobile=1&tid=2156916]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 152ms |
0 / 0 |