GetSetting SaveSetting Ejemplo

Necesito saber como puedo leer o modificar un valor en el regedit.
Lo que quiero hacer exactamente es cambiar la configuración regional ej: las comas decimales por puntos. Ya averigüe cual es el path en el regedit que es hkey_users\.default\control panel\international\ en sdecimal, ¿Ahora bien también averigüe que se utiliza el getsetting y el savesetting pero no le puedo pegar a los parámetros que lleva. Me podrías hacer un ejemplo?
1

1 respuesta

Respuesta
1
Te mando un ejemplo básico, estoy cambiando la configuración del separador decimal:
Tienes que incluir esto en tu modulo:
Declare Function SetLocaleInfo Lib "Kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long
Declare Function GetLocaleInfo Lib "Kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Declare Function GetSystemDefaultLCID Lib "Kernel32" () As Long
Luego en el programa, para modificar algo:
Dim dwLCID As Long
dwLCID = GetSystemDefaultLCID()
If SetLocaleInfo(dwLCID, LOCALE_SDECIMAL, ",") = False Then
MsgBox "No se pudo cambiar el caracter decimal a ','" & vbCrLf & "Debe hacerlo manualmente"
End If
=================================
Para leer los valores actuales, tengo una funcion publica en mi modulo con lo siguiente:
Public Function ActualConfgRegional(lngTipo As Long) As String
Dim lngBufferLen As Long
Dim intRetorno As Integer
Dim strBuffer As String
Dim Resp As Integer
On Error GoTo ActualConfgRegional_err
lngBufferLen = 50
strBuffer = Space$(lngBufferLen)
intRetorno = GetLocaleInfo(LOCALE_USER_DEFAULT, lngTipo, strBuffer, lngBufferLen)
ActualConfgRegional = Left$(strBuffer, InStr(strBuffer, Chr(0)) - 1)
Exit Function
ActualConfgRegional_err:
Resp = MsgBox("Error Confg Regional", " Editando valor " & CStr(lngTipo), 1)
End Function
Y la utilizo de la sig manera en el programa:
RegDecimal = ActualConfgRegional(LOCALE_SDECIMAL)
RegMiles = ActualConfgRegional(LOCALE_STHOUSAND)
Espero te sirva.
Tengo también una clase que te permite manejar la registry completa. Si la quieres me la pides a [email protected]
es un poco grande para mandarla por aquí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas