Red de conocimiento informático - Material del sitio web - Cómo utilizar VB para obtener claves de registro

Cómo utilizar VB para obtener claves de registro

Este es solo un ejemplo de lectura de la ubicación de favoritos. La forma de obtenerlo es llamar a tu propia función GetFavs.

Puedes echar un vistazo y comprenderás el principio:

. 1. Utilice RegOpenKey para abrir un valor clave

2. Utilice RegEnumValue para enumerar elementos repetidamente hasta encontrar el correcto

3. Utilice RegCloseKey para cerrar el valor clave abierto --- ----------- --------------------------------------- ----------- --------------------------------------- -------- -Notas de registro de operación:

1. La API de registro comienza con reg!

2. El valor de retorno de la API de registro es 0, lo que significa éxito.

3. ¡Se debe utilizar RegCloseKey para cerrar operaciones clave!

4. Los datos utilizados para almacenar valores deben declararse y no puedes ser perezoso, de lo contrario ~~~jeje~~ el código en el que has trabajado duro durante mucho tiempo será completamente reembolsado. !

Función de declaración pública RegOpenKey Lib "advapi32.dll" Alias ​​"RegOpenKeyA" (ByVal hKey siempre, ByVal lpSubKey como cadena, phkResult mientras) siempre

Función de declaración pública RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) Mientras

Función de declaración pública RegEnumValue Lib " advapi32.dll" Alias ​​"RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName como cadena, lpcbValueName como largo, ByVal lpReserved como largo, lpType como largo, lpData como byte, lpcbData como largo) como largo

Const pública HKEY_CURRENT_USER = & H80000001

Función GetFavs ()

p>

Dim lngReg As Long, strName Como cadena * 260, bteValue(259) Como Byte, lngType As Long

RegOpenKey HKEY_CURRENT_USER, "Software\Microsoft\ Windows\CurrentVersion \Explorer\Shell Folders", lngReg

Si lngReg entonces

Hacer mientras (RegEnumValue(lngReg, i, strName, 260, 0, lngType, bteValue(0), 260) = 0)

Si Left(strName, 9) = "Favoritos" Entonces

k = StrConv(bteValue, vbUnicode)

k = Left(k, InStr (k.Chrr(0 ) - 1)