Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Anoche vino un experto a ayudarme con la programación de VB!

¡Anoche vino un experto a ayudarme con la programación de VB!

Descargue el ejemplo completo para autoestudio

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.

*********. *** ************************************************* *************************