Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo leer los valores del registro en VB?

¿Cómo leer los valores del registro en VB?

ROOT = H80000000

Const HKEY_CURRENT_USER = H80000001

Const HKEY_LOCAL_MACHINE = H80000002

Const HKEY_USERS = H80000003

Constante ERROR_NONE = 0

Constante ERROR_BADDB = 1

Constante ERROR_BADKEY = 2

Constante ERROR_CANTOPEN = 3

Constante ERROR_CANTREAD = 4

Constante ERROR_CANTWRITE = 5

Const ERROR_OUTOFMEMORY = 6

Const ERROR_INVALID_PARAMETER = 7

Const ERROR_ACCESS_DENIED = 8

Const ERROR_INVALID_PARAMETERS = 87

Const ERROR_NO_MORE_ITEMS = 259

Const KEY_ALL_ACCESS = amp; H3F

Const REG_OPTION_NON_VOLATILE = 0

Const SPI_SETDESKWALLPAPER = 20

p>

Const SPIF_SENDWINICHANGE = amp; H2

Const SPIF_ UPDATEINIFILE = amp; H1 Función de declaración privada RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) Siempre que

Función de declaración privada RegCreateKeyEx Lib " advapi32.dll" Alias ​​​​"RegCreateKeyExA" (ByVal hKey mientras, ByVal lpSubKey como cadena, ByVal reservado mientras, ByVal lpClass como cadena, ByVal dwOptions mientras, ByVal samDesired mientras, ByVal lpSecurityAttributes mientras, phkResult mientras, lpdwDisposition As Long) As Long

Función de declaración privada RegOpenKeyEx Lib "advapi32.dll" Alias ​​​​"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long

Función de declaración privada RegQueryValueExString Lib "advapi

32.dll" Alias ​​​​"RegQueryValueExA" (ByVal hKey mientras, ByVal lpValueName como cadena, ByVal lpReserved mientras, lpType mientras, ByVal lpData como cadena, lpcbData mientras) Mientras

Declaración privada Función RegQueryValueExLong Lib "advapi32.dll" Alias ​​​​"RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long

Función de declaración privada RegQueryValueExNULL Lib " advapi32.dll" Alias ​​​​"RegQueryValueExA" (ByVal hKey mientras, ByVal lpValueName como cadena, ByVal lpReserved mientras, lpType mientras, ByVal lpData mientras, lpcbData mientras) Mientras

Función de declaración privada RegSetValueExString Lib "advapi32.dll" Alias ​​​​"RegSetValueExA" (ByVal hKey As Long, ByVal ByVal hKey As Long, ByVal lpValueName As String, ByVal Reservado As Long, ByVal dwType As Long, ByVal lpValue Como cadena, ByVal cbData As Long) As Long

Función de declaración privada RegSetValueExLong Lib "advapi32.dll" Alias ​​​​"RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reservado As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long

Función de declaración privada RegDeleteKeyamp; Lib "advapi32.dll" Alias ​​​​"RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String)

Función de declaración privada RegDeleteValueamp; Lib "advapi32.dll" Alias ​​​​"RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName

As String) 'Leer valor clave

Función privada QueryValueEx(ByVal lhKey As Long, ByVal szValueName As String, vValue As Variant) As Long

Dim cch As Long

Atenuar lrc mientras

Atenuar lType mientras

Atenuar lValue mientras

Atenuar sValue como cadena en caso de error Ir a QueryValueExError lrc = RegQueryValueExNULL(lhKey, szValueName , 0amp;, lType, 0amp;, cch)

Si lrc

Caso REG_SZ:

sValue = String (cch, 0)

lrc = RegQueryValueExString(lhKey, szValueName, 0amp;, lType, sValue, cch)

lrc = RegQueryValueExString(lhKey, szValueName, 0amp;, lType, sValue , cch)

Si lrc = ERROR_NONE Entonces

vValue = Left$(sValue, cch)

De lo contrario

vValue = Vacío

Finalizar caso REG_DWORD:

lrc = RegQueryValueExLong(lhKey, szValueName, 0amp;, lType, lValue, cch)

Si lrc = ERROR_NONE Entonces vValue = lValue

Caso más

lrc = -1

Fin SelectQueryValueExExit: QueryValueEx = lrc

Salir de la funciónQueryValueExError: Reanudar la función QueryValueExExitEnd

Función privada QueryValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)

Atenuar lRetVal As Long

Atenuar hKey As Long

Atenuar vValue Como variante lRetVal = RegOpenKeyEx(lPredefinidoKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)

lRetVal = QueryValueEx(hKey, sValueName, vValue)

QueryValue = vValue

Reg

CloseKey (hKey)

Finalizar funciónPrivate Sub Command1 _Click()

Label1.Caption = QueryValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Tencent\QQ", "Install")

Fin del subtítulo