E creado un script instalador de programas como el WPI que instala los programas que tienen activado el checkbox, pero el problema es que tengo que elegir los programas antes de compilarlo, lo que quiero es que la GUI principal tenga un botón para que el usuario pueda agregar los programas, el botón AGREGAR habré una nueva GUI donde hay un botón para buscar el programa que agregaremos, un GUICtrlCreateInput para escribir el nombre del programa y un botón de listo, el problema es que la nueva GUI al ser cerrada me cierra la GUI principal, y los checkbox no me reconocen los nombres del programa que e agregado, e intentado varios métodos y he avanzado mucho pero se me facilitarían mas las cosas con la ayuda de ustedes, no se tal vez mostrándome el código fuente de algún programa similar hecho con autoit, seguiré intentándolo y agradeceré su ayuda, adelante con autoit.
Este es el codigo que tengo, solo les pongo doy dos botones y dos checkbox para que no sea tan grande el codigo, hasta ahorita no se como funcionan los array.
Código: Seleccionar todo
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
GUICreate("Agregar Programas",915,500,50,100)
$BtnVlvr = GUICtrlCreateButton("Volver al Instalador",5,405,110,20)
$BtnAct = GUICtrlCreateButton("Actualizar",5,425,110,20)
$BtnSlr = GUICtrlCreateButton("Salir",5,445,110,20)
GuiSetState(@SW_SHOW)
$BtnAdd0 = GUICtrlCreateButton("Agregar",125,35,45,20)
$BtnAdd1 = GUICtrlCreateButton("Agregar",125,55,45,20)
$ChckBx0 = GUICtrlCreateLabel(FileReadLine(@ScriptDir&"\Programas.txt",1),175,40,140,20)
$ChckBx1 = GUICtrlCreateLabel(FileReadLine(@ScriptDir&"\Programas.txt",4),175,60,140,20)
GUICtrlCreateGroup("Configuraciónes",120,20,190,220)
Func Actlzr()
WinClose("Agregar Programas","")
ShellExecute(@ScriptDir&"\Agregar Programas.exe")
EndFunc
Func Add0()
$FlRut0 = FileOpenDialog("Seleccione un Ejecutable", @DesktopCommonDir, "Ejecutables (*.exe;*.bat;*.com;*.cmd)", 1 + 4 )
If $FlRut0 = "" Then
MsgBox(0,"Error","Debe seleccionar un Archivo",5)
Else
$FlName0 = InputBox("Programa Agregado","Usted Selecciono el Siguiente Programa"&$FlRut0&@CRLF&@CRLF&"Escriba el Nombre del Programa")
If $FlName0 = "" Then
MsgBox(0,"Error","Debe Escribir un Nombre para el Archivo")
else
$Dflt0 = MsgBox(4,"Listo","Desea que el programa se instale por default")
If $Dflt0 = 6 Then
$Chckd0 = 1
Else
$Chckd0 = 0
EndIf
$FlOpn0 = FileOpen("Programas.txt")
_FileWriteToLine(@ScriptDir&"\Programas.txt",1,$FlName0,1)
_FileWriteToLine(@ScriptDir&"\Programas.txt",2,$FlRut0,1)
_FileWriteToLine(@ScriptDir&"\Programas.txt",3,$Chckd0,1)
FileClose($FlOpn0)
Call("Actlzr")
EndIf
EndIf
EndFunc
While 1
$msg = GUIGetMsg()
Switch 1
Case $msg = $BtnAdd0
Call("Add0")
Case $msg = $BtnVlvr
WinClose("Agregar Programas","")
ShellExecute(@ScriptDir&"\Agregar Programas.exe")
Case $msg = $BtnAct
Call("Actlzr")
Case $msg = $BtnSlr
Exit
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd