Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Вниз

Как прочитать из VBA excel ключ реестра?   Найти похожие ветки 

 
Vlad Oshin ©   (2007-04-06 13:28) [0]

замучил он меня :)
Там у меня лежит человеческая программка на родном делфи

нашел в нете:
Dim WSHShell
Dim txtX As String
Set WSHShell = CreateObject("WScript.Shell")
txtX = WSHShell.RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\R un\ScanRegistry")

и где тут значение? ( к слову, а у меня вообще не работает(ошибка - не могу открыть ключ реестра), как бы ни пробовал менять ключ)

нашел еще многое, но то тоже не работает(совсем)


 
Yanis ©   (2007-04-06 13:44) [1]

Ну взять и экспортировать функции. Как это делается везде.


 
Vlad Oshin ©   (2007-04-06 13:49) [2]


> Ну взять и экспортировать функции. Как это делается везде.

блинн..
а в Коломну ехать через Владивосток..

Visual Basic умеет работать только с веткой
HKEY_CURRENT_USER\ Software\VB and VBA Program Setting
и только со строковыми ключами, но этого вполне достаточно,
чтобы сохранять и считывать настройки своих программ:

блииин..
кто это назвал ЯП..

какого..

и что делать..

Вариант
Записать еще и туда, HKEY_CURRENT_USER\ Software\VB and VBA Program Setting,
путь до своей программы во время установки и считывать оттуда
блииин..
кто это назвал ЯП..

какого..


 
homm ©   (2007-04-06 13:51) [3]

> а у меня вообще не работает

Убрать пробел в слове «R un» ?


 
Vlad Oshin ©   (2007-04-06 13:57) [4]


>
> Убрать пробел в слове «R un» ?

:)
нет, не работает


 
passlight ©   (2007-04-06 17:22) [5]


"am v1.0.0_991112

"--------------------------------------------------------------------------------

"Использование:

"sUser = RegGetValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", "RegisteredOwner")
"RegSetValue HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", "RegisteredOwner", "Darth Vader"
"RegGetValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Shared Tools\comctl32.ocx", "Path")
"Примечание: Эти функции работают только с текстовыми ключами (те, что в RegEdit"e помечены символом "ab").

Option Compare Database
Option Explicit

"Registry keys
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006

"Registry access constants
Public Const KEY_QUERY_VALUE = &H1         "Permission to query subkey data.
Public Const KEY_SET_VALUE = &H2           "Permission to set subkey data.
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_CREATE_LINK = &H20
Public Const KEY_READ = KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY
Public Const KEY_WRITE = KEY_SET_VALUE Or KEY_CREATE_SUB_KEY
Public Const 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

Public Const REG_OPTION_NON_VOLATILE = 0&
Public Const REG_OPTION_VOLATILE = &H1

Public Type SECURITY_ATTRIBUTES
 nLength As Long
 lpSecurityDescriptor As Long
 bInheritHandle As Long
End Type

Public Type RegTypes
   RegNonee As Long
   RegSZ  As Long
   RegExpandSz  As Long
   RegBinary  As Long
   RegDword  As Long
   RegDwordLittleEndian  As Long
   RegDwordBigEndian  As Long
   RegLink  As Long
   RegMultiSz  As Long
   RegResourceList  As Long
   RegFulResourceDesc  As Long
End Type

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 SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long

Public Function RegGetValue(Root As Long, SubKey As String, Key As String) As String
Dim rt As RegTypes
rt = GetRegTypes
   Dim Buffer As String, hKey As Long, nType As Long, nSize As Long
   RegGetValue = ""
   If Not RegOpenKeyEx(Root, SubKey, 0, KEY_READ, hKey) Then
       nSize = 0
       RegQueryValueEx hKey, Key, 0, nType, Buffer, nSize
       If hKey And nSize > 0 And nType = rt.RegSZ Then
           Buffer = Space(nSize + 1)
           RegQueryValueEx hKey, Key, 0, nType, Buffer, nSize
           RegGetValue = Left(Buffer, nSize - 1)
           RegCloseKey hKey
       End If
   End If
End Function

Public Sub RegSetValue(Root As Long, SubKey As String, Key As String, Value As String)
Dim rt As RegTypes
rt = GetRegTypes

   Dim hKey As Long, sa As SECURITY_ATTRIBUTES, nDisp As Long
   If Not RegCreateKeyEx(Root, SubKey, 0, vbNull, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, sa, hKey, nDisp) Then
       RegSetValueEx hKey, Key, 0, rt.RegSZ, Value, Len(Value) + 1
       RegCloseKey hKey
   End If
End Sub

Public Function GetRegTypes() As RegTypes
With GetRegTypes
   .RegNonee = 0
   .RegSZ = 1
   .RegExpandSz = 2
   .RegBinary = 3
   .RegDword = 4
   .RegDwordLittleEndian = 4
   .RegDwordBigEndian = 5
   .RegLink = 6
   .RegMultiSz = 7
   .RegResourceList = 8
   .RegFulResourceDesc = 9
End With
End Function




Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.071 c
9-1149069214
Trojian
2006-05-31 13:53
2007.05.06
Игра


2-1176796522
Gentos
2007-04-17 11:55
2007.05.06
Oracle8 - cLOB


15-1176088761
Steep
2007-04-09 07:19
2007.05.06
Delphi 2006


1-1173274283
alexey_mas
2007-03-07 16:31
2007.05.06
MDI интерфейс


2-1176729542
Neket
2007-04-16 17:19
2007.05.06
Вновь Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский