Usar el registro de Windows desde VB.NET
Bueno para un buen uso del registro hay que conocer la clase regestry, este nos permite tener acceso a claves, subclaves y valores del registro, si conocemos el registro de Windows sabemos o habremos visto las raíces de las claves son
HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE , entre otros. En la clase Regestry éstos pueden pueden ser asignados como campos que pueden ser:
CurrentUser.- Almacena información sobre las preferencias de usuario.
LocalMachine.-Almacena información de configuración correspondiente al equipo local.
ClassesRoot .-Almacena información sobre los tipos (y clases) y sus propiedades.
Users .-Almacena información sobre la configuración de usuario predeterminada.
PerformanceDataAlmacena información del rendimiento de los componentes de software.
CurrentConfig .-Almacena información de hardware no específica del usuario.
DynData .-Almacena datos dinámicos.
La clase RegestryKey.- no encuentro el término exacto para describir esta clase, pero en la ayuda la representa como un nodo de cierta clave, bueno como siempre he dicho no hay nada como mirar el code, este ejemplo crea una nueva clave:
...como se muestra creo un objeto de la clase RegistryKey que viene a ser un nodo de la clave registry.CurrentUser, luego utilizo el método CreateSubKey para agregar una nueva clave llamada Javier, no confundan una clave con un valor
Bueno para que no se confundan agreguemos un valor a la clave Javier (este code lo agregamos al anterior):
si queremos ahorrar code lo hubiésemos hecho así:
El siguiente ejemplo muestra las aplicaciones que se inician con el sistema operativo
algunos códigos
función que valida que en un form se ingresen datos requeridos
funcion comprueba ataque sql injector
sub que carga una listview mand´andole un registro (sqldatareader)
sub que carga un combo enviándole un registro
Bueno para un buen uso del registro hay que conocer la clase regestry, este nos permite tener acceso a claves, subclaves y valores del registro, si conocemos el registro de Windows sabemos o habremos visto las raíces de las claves son
HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE , entre otros. En la clase Regestry éstos pueden pueden ser asignados como campos que pueden ser:
CurrentUser.- Almacena información sobre las preferencias de usuario.
LocalMachine.-Almacena información de configuración correspondiente al equipo local.
ClassesRoot .-Almacena información sobre los tipos (y clases) y sus propiedades.
Users .-Almacena información sobre la configuración de usuario predeterminada.
PerformanceDataAlmacena información del rendimiento de los componentes de software.
CurrentConfig .-Almacena información de hardware no específica del usuario.
DynData .-Almacena datos dinámicos.
La clase RegestryKey.- no encuentro el término exacto para describir esta clase, pero en la ayuda la representa como un nodo de cierta clave, bueno como siempre he dicho no hay nada como mirar el code, este ejemplo crea una nueva clave:
Código [Seleccionar]
Dim objRegistro As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser
objRegistro.CreateSubKey("javier")
...como se muestra creo un objeto de la clase RegistryKey que viene a ser un nodo de la clave registry.CurrentUser, luego utilizo el método CreateSubKey para agregar una nueva clave llamada Javier, no confundan una clave con un valor
Bueno para que no se confundan agreguemos un valor a la clave Javier (este code lo agregamos al anterior):
Código [Seleccionar]
Dim objValor As Microsoft.Win32.RegistryKey = objRegistro.OpenSubKey("javier")
objValor.SetValue("apellidos", "ulloa sernaque")
si queremos ahorrar code lo hubiésemos hecho así:
Código [Seleccionar]
Dim objRegistro As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("javier")
objRegistro.SetValue("apellido", "ulloa")
El siguiente ejemplo muestra las aplicaciones que se inician con el sistema operativo
Código [Seleccionar]
Dim objRegistro As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run")
For Each valor As String In objRegistro.GetValueNames
Dim tmpRegistro As Microsoft.Win32.RegistryKey = objRegistro
MessageBox.Show(tmpRegistro.GetValue(valor))
Next
algunos códigos
función que valida que en un form se ingresen datos requeridos
Código [Seleccionar]
Public Function ingreso_datos_completos(ByVal objFrm As Windows.Forms.Form) As Boolean
'LOS textbox,combos que tengan el tag con el valor="*" son requeridos
Dim objCtl As Control
For Each objCtl In objFrm.Controls
If TypeOf objCtl Is TextBox Or TypeOf objCtl Is ComboBox And objCtl.Tag = "*" Then
If objCtl.Text = "" Then Return False
End If
Next
Return True
End Function
funcion comprueba ataque sql injector
Código [Seleccionar]
Public Function comprueba_ataque_sql_injector(ByVal str_usuario As String) As Boolean
With str_usuario
If .Substring(.TrimEnd.Length - 2) = "--" Then
Return True
End If
End With
Return False
End Function
sub que carga una listview mand´andole un registro (sqldatareader)
Código [Seleccionar]
Public Sub cargar_listview(ByVal objlstv As ListView, ByVal registro As SqlClient.SqlDataReader)
With objlstv
.Columns.Clear()
.Items.Clear()
.GridLines = True
.View = View.Details
.FullRowSelect = True
End With
Dim i As Int16, objItem As ListViewItem
With registro
For i = 0 To .FieldCount - 1
objlstv.Columns.Add(.GetName(i), 100, HorizontalAlignment.Center)
Next
Do While .Read
objItem = objlstv.Items.Add(registro(0))
For i = 1 To .FieldCount - 1
If TypeOf (registro(i)) Is Date Then
objItem.SubItems.Add(CStr(registro(i)))
Else
If TypeOf (registro(i)) Is String Then
objItem.SubItems.Add(registro(i))
Else
objItem.SubItems.Add(registro(i).ToString)
End If
End If
Next
Loop
registro.Close()
End With
End Sub
sub que carga un combo enviándole un registro
Código [Seleccionar]
Public Sub CargarCombo(ByVal str_Registro As String, ByVal myCombo As ComboBox, ByVal CampoPrincipal As String, ByVal CampoSecundario As String, ByVal conexion As SqlClient.SqlConnection)
Dim oTablaCargo As New DataTable
Dim DACargo As New SqlClient.SqlDataAdapter(str_Registro, conexion)
Try
DACargo.Fill(oTablaCargo)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
myCombo.DataSource = oTablaCargo
myCombo.ValueMember = CampoPrincipal
myCombo.DisplayMember = CampoSecundario
End Sub