Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Los expertos en VB pueden ayudarme a modificar el código?

¿Los expertos en VB pueden ayudarme a modificar el código?

Simplemente cree una ventana y un módulo, y coloque una cantidad de controles (5 etiquetas, 5 texto, 1 comando)

El código de la ventana es el siguiente:

Private Sub Command1_Click()

Llamar a SetStringValue(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName", Text1.Text)

Llamar a SetStringValue(HKEY_LOCAL_MACHINE , "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Hostname", Text2.Text)

Llamar a SetStringValue2(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{C09A8CD0-2C7A - 4866-AAD0-D36CBD733EFC}", "IPAddress", Text3.Text)

Llamar a SetStringValue2(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{C09A8CD0-2C7A-4866-AAD0 - D36CBD733EFC}", "DefaultGateway", Text4.Text)

Llamar a SetStringValue(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{C09A8CD0-2C7A-4866-AAD0-D36CBD733EFC}" , "NameServer", Text5.Text)

End Sub

Sub privado Form_Load()

Command1.Caption = "Escribir"

Label1.Caption = "ComputerName:"

Text1.Text = GetStringValue(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName")

Label2.Caption = "Nombre de host:"

Text2.Text = GetStringValue(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Nombre de host")

Label3.Caption = "IP: "

Texto3.Texto = GetStringValue(HKEY_LOCAL_MACHINE,

"SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{C09A8CD0-2C7A-4866-AAD0-D36CBD733EFC}", "IPAddress")

Label4.Caption = "Puerta de enlace predeterminada:"

Text4.Text = GetStringValue(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{C09A8CD0-2C7A-4866-AAD0-D36CBD733EFC}", "DefaultGateway")

Etiqueta5. Caption = "Servidor DNS:"

Text5.Text = GetStringValue(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{C09A8CD0-2C7A-4866-AAD0-D36CBD733EFC}", "NameServer ")

End Sub

El código del módulo es el siguiente:

'Constante de entrada del registro

Public Const HKEY_CLASSES_ROOT = amp; H80000000

Const pública HKEY_CURRENT_USER = amp; H80000001

Const pública HKEY_LOCAL_MACHINE = amp; H80000002

Const pública HKEY_USERS = amp; Const HKEY_PERFORMANCE_DATA = amp;H80000004

Público Const ERROR_SUCCESS = 0amp;

Declarar función RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) Mientras

Declarar función RegCreateKey Lib "advapi32.dll" Alias ​​​​"RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Declarar función RegDeleteKey Lib "advapi32.dll" Alias ​​​​"RegDeleteKeyA" ( ByVal hKey As Long, ByVal lpSubKey As String) Mientras

Declarar Función RegDeleteValue Lib "advapi32.dll" Alias ​​​​"RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) Siempre

Declarar

e Función RegOpenKey Lib "advapi32.dll" Alias ​​​​"RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Declarar función RegOpenKeyEx Lib "advapi32.dll" Alias ​​​"RegOpenKeyExA" (ByVal hKey mientras, ByVal lpSubKey como cadena, ByVal ulOptions mientras, ByVal samDesired mientras, phkResult mientras)

Declarar función RegQueryValueEx Lib "advapi32.dll" Alias ​​​​"RegQueryValueExA" (ByVal hKey mientras, ByVal lpValueName como cadena, ByVal lpReserved mientras, lpType mientras, lpData como cualquiera, lpcbData mientras) Mientras

Declarar función RegQueryValueExString Lib "advapi32.dll" Alias ​​"RegQueryValueExA" (ByVal hKey mientras, ByVal lpValueName como cadena, ByVal lpReserved mientras, lpType mientras, ByVal lpData como cadena, lpcbData mientras) Mientras

Declarar 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

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

Declarar función RegSetValueEx Lib "advapi32.dll" Alias ​​​​"RegSetValueExA" ( ByVal hKey mientras, ByVal lpValueName como cadena, ByVal reservado mientras, ByVal dwT

ype Mientras, lpData Como Cualquiera, ByVal cbData Mientras) Mientras

Public Const REG_SZ = 1

Public Const REG_DWORD = 4

Public Sub savekey( hKey As Long, strPath As String)

Dim keyhandamp;

r = RegCreateKey(hKey, strPath, keyhandamp;)

r = RegCloseKey(keyhandamp;)

End Sub

Función pública GetStringValue(hKey As Long, strPath As String, strValue As String)

Dim keyhand As Long

Dim datatype As Long

Dim lResult As Long

Dim strBuf As String

Dim lDataBufSize As Long

Dim intZeroPos As Integer p>

r = RegOpenKey(hKey, strPath, keyhand)

lResult = RegQueryValueEx(keyhand, strValue, 0amp;, lValueType, ByVal 0amp;, lDataBufSize)

Si lValueType = REG_SZ Entonces

strBuf = String(lDataBufSize, " ")

lResult = RegQueryValueEx(keyhand, strValue, 0amp;, 0amp;, ByVal strBuf, lDataBufSize)

Si lResult = ERROR_SUCCESS Entonces

intZeroPos = InStr(strBuf, Chr$(0))

Si intZeroPos gt 0 Entonces

GetStringValue = Left$ (strBuf, intZeroPos - 1)

Else

GetStringValue = strBuf

End If

End If

End If

Función final

Public Sub SetStringValue(hKey As Long, strPath As String, strValue As String, strdata As String)

Dim keyhand As Largo

Dim r As Largo

r = RegCreateKey(hKey, strPath, keyhand)

r = RegSetValueEx(keyhand, str

Valor, 0, REG_SZ, ByVal strdata, Len(strdata))

r = RegCloseKey(keyhand)

End Sub

Función GetDwordValue(ByVal hKey As Long , ByVal strPath como cadena, ByVal strValueName como cadena) mientras

Atenuar lResult mientras

Atenuar lValueType mientras

Atenuar lBuf mientras

Atenuar lDataBufSize mientras

Atenuar r mientras

Atenuar keyhand mientras

r = RegOpenKey(hKey, strPath, keyhand)

lDataBufSize = 4

lResult = RegQueryValueEx(keyhand, strValueName, 0amp;, lValueType, lBuf, lDataBufSize)

Si lResult = ERROR_SUCCESS Entonces

Si lValueType = REG_DWORD Entonces

GetDwordValue = lBuf

Finalizar si

Finalizar si

r = RegCloseKey(keyhand)

Fin de función

Función SetDwordValue(ByVal hKey mientras, ByVal strPath como cadena, ByVal strValueName como cadena, ByVal lData mientras)

Dim lResult As Long

Atenuar keyhand siempre

Atenuar r mientras

r = RegCreateKey(hKey, strPath, keyhand)

lResult = RegSetValueEx(keyhand, strValueName, 0amp ;, REG_DWORD, lData, 4)

r = RegCloseKey(keyhand)

Función final

Función pública DeleteKey(lPredefinida clave siempre, sKeyName como cadena)

'Eliminar clave principal

Atenuar lRetVal mientras

Atenuar hKey mientras

lRetVal = RegOpenKeyEx(lPredefinidoKey, sKeyName, 0, KEY_ALL_ACCESS , hKey)

lRetVal = RegDeleteKey(lPredefinidaClave, sKeyName)

RegCloseKey (h

Clave)

Función final

Función pública EliminarValor(lClavePredefinida tan larga, sKeyName como cadena, sValueName como cadena)

'Eliminar valor de clave

Atenuar lRetVal mientras

Atenuar hKey mientras

lRetVal = RegOpenKeyEx(lPredefinidoKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)

lRetVal = RegDeleteValue(hKey , sValueName)

RegCloseKey (hKey)

Función final

Función pública QueryValue(lPredefinida clave como larga, sKeyName como cadena, sValueName como cadena)

'Obtener valor clave

Atenuar lRetVal mientras

Atenuar hKey mientras

Atenuar vValue como variante

lRetVal = RegOpenKeyEx (lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)

lRetVal = RegQueryValueEx(hKey, sValueName, vValue, 0, 0, 0)

QueryValue = vValue

RegCloseKey (hKey)

Función final