Pgina 1 de 7
Reglate mi libro de Visual Basic 2005 Y ten la base suficiente para aprovechar mi nuevo libro: Novedades de Visual Basic 9.0
A continuacin muestro una forma de acceder al Registro de Windows a travs de la WMI de Windows. ( Windows Management Instrumentation )
El ejemplo esta bastante explicado ( al menos eso creo ) y de todas formas arriba tenis mi e-mail por si queris alguna aclaracin del ejemplo ( Adems de tener abajo el Fichero Zip con el Ejemplo ). En el ejemplo hay un formulario en el que hay un Control ComboBox, un TextBox y dos ListBox los cuales nos servirn para introducir y Recibir los Datos. Tambin hay un Modulo que eh llamado Registry en el cual estn los tipos, enumeraciones y funciones de acceso para poder leer y escribir datos en el Registro. Si queris mas informacin de esto visitad el sitio de Microsoft ya que yo saque la informacin de cmo hacer esto de la librera de MSDN. El sitio es el Siguiente: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_registry.asp Si el enlace hubiera cambiado de direccin, realizar una Bsqueda indicando Win32_Registry y lo encontrareis. Sin mucho mas que decir pasaremos al ejemplo: El cdigo del Formulario ( Form1 ) es el siguiente:
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008
Pgina 2 de 7
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008
Pgina 3 de 7
' Enumeracion de Parametros de Registro ' ( Inicio de Clave ) Public Enum RegistryParameter RegClassesRoot = &H80000000 RegCurrentUser = &H80000001 RegLocalMachine = &H80000002 RegUsers = &H80000003 RegCurrentConfig = &H80000005 RegDynData = &H80000006 End Enum ' Enumeracion de Tipos de Claves que se pueden Crear Public Enum RegistryKeyTypes RegSZ = Uno RegExpandSZ = Dos RegBINARY = Tres RegDWORD = Cuatro RegMultiSZ = Siete End Enum ' Tipo devuelto por la Funcion ReadSubKeys ' ( Es una Parte de lo que devuelve ) = 1 SubKey Public Type RegistryKey NameKey As String PathKey As String TypeKey As RegistryKeyTypes End Type ' Tipo devuelto por la Funcion ReadSubKeys Public Type RegistryKeysList SubKey() As RegistryKey ' Varias SubKeys Count As Integer ' Cuenta de SubKeys End Type ' Tipo Devuelto por la Funcion ReadSubFolders Public Type RegistrySubFolderKeysList SubFolderKey() As Variant SubFolderPath() As Variant Count As Integer End Type Public Function ReadSubKeys(RegParameter As RegistryParameter, _ ByVal RegKey As String) As RegistryKeysList ' Esta Funcion Devuelve un Array de Nombres ' de Subclaves de un Arbol del registro On Error Resume Next Dim ObjReg As Object Dim ArrStrings() As Variant Dim ArrTypes() As Variant Static Man As Integer, Tempo As String
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008
Pgina 4 de 7
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008
Pgina 5 de 7
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008
Pgina 6 de 7
Public Function ParameterNameKey(RegParameterA As RegistryParameter) As String ' Esta funcion nos servira para saber el Nombre del Parametro ' en la que se establecera o leera el/la arbol/Clave If RegParameterA = RegClassesRoot Then ParameterNameKey = "HKEY_CLASSES_ROOT" Exit Function End If If RegParameterA = RegCurrentConfig Then ParameterNameKey = "HKEY_CURRENT_CONFIG" Exit Function End If If RegParameterA = RegCurrentUser Then ParameterNameKey = "HKEY_CURRENT_USER" Exit Function End If If RegParameterA = RegDynData Then ParameterNameKey = "HKEY_DYN_DATA" Exit Function End If If RegParameterA = RegLocalMachine Then ParameterNameKey = "HKEY_LOCAL_MACHINE" Exit Function End If If RegParameterA = RegUsers Then ParameterNameKey = "HKEY_USERS" Exit Function End If End Function
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008
Pgina 7 de 7
http://www.elguille.info/colabora/vb2005/PolFlo_Acceder_Registro_WMI.htm
05/03/2008