¡Anoche vino un experto a ayudarme con la programación de VB!
Uso de VB para operar el registro (4)
Mengli Water Village
Inicie sesión para acceder al Valor del registro de base de datos: leer una clave Todos los nombres bajo una clave (valor)
A veces necesitamos leer todos los nombres bajo una clave para encontrar nombres específicos o todos para su uso. Por ejemplo, cuando escribí el famoso. "Trojan Horse Glacier" Cuando se trata de programas del lado del servidor, necesito encontrar HKEI, que es el programa más famoso y popular del mundo que puede eliminar "Trojan Glacier". Por ejemplo, cuando escribí un programa para eliminar el famoso programa del lado del servidor "Trojan Glacier", necesitaba encontrar todos los complementos sospechosos en HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run y eliminarlos.
'str2 --gt; REG_EXPAND_SZ "WinDirCommand"
'str3 --gt; REG_MULTI_SZ "hongqt" Chr(0) "lstc" Chr(0) "edu" Chr(0) "cn" Chr( 0) Chr(0)
'LongData --gt; REG_DWORD 99999
'BinaryData --gt; REG_BINARY 11, 22, 33, 44, aa, bb, cc, dd
'************************ setvalue.bas ***************** *** ****
Opción explícita
Const pública HKEY_CLASSES_ROOT = amp; H80000000
Const pública HKEY_ CURRENT_USER = amp; p>Const pública HKEY_LOCAL_MACHINE = H80000002
Constante pública HKEY_USERS = H80000003
Constante pública HKEY_PERFORMANCE_DATA = H80000004
Constante pública HKEY_CURRENT_CONFIG = H80000005
Constante pública HKEY_DYN_DATA = &H80000006
Constante pública REG_NONE = 0
Constante pública REG_SZ = 1
Constante pública REG_EXPAND_SZ = 2
Constante pública REG_BINARY = 3
Constante pública REG_DWORD = 4
Constante pública REG_DWORD_BIG_ENDIAN = 5
Const pública REG_MULTI_SZ = 7
'Tenga en cuenta que el Las siguientes declaraciones de funciones deben escribirse en una línea
Declarar función RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long < / /p>
Declarar función RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) mientras
Declarar función RegSetValueEx Lib "advapi32.dll" Alias" RegSetValueExA" (ByVal hKey Mientras, ByVal lpValueName Como Cadena, ByVal Reservado Mientras, ByVal dwType Mientras, lpData Como Cualquiera, B
yVal cbData As Long) As Long
Sub Main()
Dim hKey As Long
RegCreateKey HKEY_CURRENT_USER, "Software\SetValue", hKey
RegSetValueEx hKey, "", 0, REG_SZ, ByVal "VB manipula el registro", 13
RegSetValueEx hKey, "Str1", 0, REG_SZ, ByVal "Amo a mi país", 13
RegSetValueEx hKey, "Str2", 0, REG_EXPAND_SZ, ByVal "WinDirCommand", 16
Atenuar S como cadena
S = "hongqt" Chr(0) "lstc".
RegSetValueEx hKey, "Str3", 0, REG_MULTI_SZ, ByVal S.S.S.S.S.S.S.S.S.S.S.S.S.S, 20
Dim L As Long
L = 99999
RegSetValueEx hKey, "LongData", 0, REG_DWORD, L, 4
Dim bArr(0 a 7) como byte
bArr(0) = amp; bArr(1) = amperio H22: bArr(2) = amperio H33: bArr(3) = amperio; : bArr(6) = amp;HCC: bArr(7) = amp;HDD
RegSetValueEx hKey, "BinaryData", 0, REG_BINARY, bArr(0), 8
MsgBox "¡Completado! ¡RegSetValueEx! Verifique el contenido de HKEY_CURRENT_USER\Software\SetValue".
RegCloseKey hKey
End Sub
Operando el Registro con VB (VI)
Soñando con Agua
Iniciar sesión en la base de datos Acceso del Registro al Valor - Eliminar el valor de una clave
Esta función es muy fácil de implementar.
Principalmente llama a la función API correspondiente: RegDeleteValue. Lo siguiente es parte de su descripción:
Declaración VB
Declarar función RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" ( ByVal hKey As Long, ByVal lpValueName As String) As Long
Parámetros:
hKey: Identificador de clave
lpValueName: Nombre del valor, si desea eliminar el valor predeterminado, simplemente pase " "[cadena vacía].
Valor de retorno: =0, éxito; ≠0, fracaso.
Ejemplo de llamada a función:
'Supongamos que en HKEY_CURRENT_USER\Software\SetValue:
'PresetValue - Registro de operaciones de VB
'str1 - Amo a mi patria
'Queremos eliminar estos dos valores
ret = RegOpenKey(HKEY_CURRENT_USER, "Software\SetValue", hKey)
Si ret = 0 entonces
RegDeleteValue hKey, "Str1"
MsgBox "¿Eliminado?HKCU\Software\SetValue?SubKey?Str1?Value"
RegDeleteValue hKey, ""
MsgBox "HKCU\Software\SetValue eliminado?SubKey'"
MsgBox "HKCU\Software\SetValue eliminado?
MsgBox " Eliminado HKCU\Software\SetValue?SubKey'"
Finalizar si
Operación del registro con VB (VII)
Sueños de agua
Acceso de inicio de sesión a la clave del registro de la base de datos
En comparación con el acceso al valor en el registro, el acceso a la clave es mucho más simple. Además de las funciones API principales que se utilizarán, además de las mencionadas RegOpenKey y RegCreateKey. también son RegEnumKey y RegDeleteKey
La creación de clave se puede realizar utilizando RegCreateKey mencionado anteriormente.
*********. *** ************************************************* *************************