Puedes crear una funcion o usar la de recursos visual basic , tratare de ayudarte lo mas que pueda por que hace tiempo hize un post preguntando lo mismo y solo hubo una respuesta muy complicada , bueno usare le modulo que esta en recursos visual basic
Option Explicit
Const APPLICATION As String = "MiPrograma"
Dim m_Left As Single
Dim m_Top As Single
Dim m_Width As Single
Dim m_Height As Single
Dim Path_Archivo_Ini As String
'Función api que recupera un valor-dato de un archivo Ini
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
'Función api que Escribe un valor - dato en un archivo Ini
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Long
'Lee un dato _
-----------------------------
'Recibe la ruta del archivo, la clave a leer y _
el valor por defecto en caso de que la Key no exista
Private Function Leer_Ini(Path_INI As String, Key As String, Default As Variant) As String
Dim bufer As String * 256
Dim Len_Value As Long
Len_Value = GetPrivateProfileString(APPLICATION, _
Key, _
Default, _
bufer, _
Len(bufer), _
Path_INI)
Leer_Ini = Left$(bufer, Len_Value)
End Function
'Escribe un dato en el INI _
-----------------------------
'Recibe la ruta del archivo, La clave a escribir y el valor a añadir en dicha clave
Private Function Grabar_Ini(Path_INI As String, Key As String, Valor As Variant) As String
WritePrivateProfileString APPLICATION, _
Key, _
Valor, _
Path_INI
End Function
Private Sub Form_Load()
'Path del fichero Ini
Path_Archivo_Ini = App.Path & "\config.ini"
' Lee las Key y Les envia el valor por defecto por si no existe
m_Left = Leer_Ini(Path_Archivo_Ini, "Left", 0)
m_Top = Leer_Ini(Path_Archivo_Ini, "Top", 0)
m_Width = Leer_Ini(Path_Archivo_Ini, "Width", 5000)
m_Height = Leer_Ini(Path_Archivo_Ini, "Height", 5000)
'Posiciona el formulario con los valores del archivo Ini
Move m_Left, m_Top, m_Width, m_Height
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Escribe en el archivo Ini
'Posición del Form
Call Grabar_Ini(Path_Archivo_Ini, "Left", Me.Left)
Call Grabar_Ini(Path_Archivo_Ini, "Top", Me.Top)
'Tamaño del formulario
Call Grabar_Ini(Path_Archivo_Ini, "Width", Me.Width)
Call Grabar_Ini(Path_Archivo_Ini, "Height", Me.Height)
End Sub
dices que solo para guardar el widith y heigh cierto.. pero es un ejemplo, te mostrare como modificarlo
al inicial el formulario se encuentra esta linea
m_left = variable que contiene el left
leerini = funcion
(Path_Archivo_Ini, = ruta del archivo ini , por eso antes la variable path_archivo se declara como app.path & "\config.ini", tu puedes hacer lo mismo
"Left" = lee el contenido de la parte del .ini que tenga la clave "left"
0 = si no existe esa parte del ini la crea
ahora cuando el form se cierra, usa la propiedad unload y se encuentra esta linea
Call Grabar_Ini(Path_Archivo_Ini, "Left", Me.Left)
Grabar_Ini = la funcion para grabar datos al ini
Path_Archivo_Ini = variable que contiene la ruta del archivo ini, como dije puedes modificarla como quieras
"Left" = la key o clave que vas a meter para luego sacar el valor que contenga esa clave
Me.Left = este es el valor que obtendras al leer el ini, por ahora en el code anterior lo estas guardando para cuando sea abierto puedas leer el valor del left
ahora voy a ponerte el ejemplo de iniciar con windows...
Al iniciar form.. :
Código: Seleccionar todo
Dim VariableParaLeer as boolean ' declaramos la variable para luego saber si es falsa o verdadera
VariableParaLeer = Leer_Ini(app.path & "\Config.ini", "iniciar" 0)
if VariableParaLeer = true then ' si la variable = true entonces se guardo con el check tildeado
Iniciar_Con_Windows.value = 1 ' tildeamos el check
else
Iniciar_Con_Windows.value = 0 ' si no la ponemos desmarcada aunque pordefecto asi viene
end if
Al guardar form... :
Dim Variable as boolean ' variable que contendra el .value del check
if Iniciar_Con_Windows.value = 1 then ' si el check esta tildeado entonces ponemos la variable true
variable = true
else
variable = false ' si no no
end if
Call Grabar_Ini(app.path & "\Config.ini", "iniciar", Variable) ' grabamos la variable para despues leerla
Espero te haya servido