El tema es el siguiente:
La finalidad es crear una ventana de herramientas con botones que llamen a distintos ejecutables del sistema, pero dichos botones no existen en la GUI, se crean dinámicamente leyendo los datos de un .INI donde está la información de cada botón a crear. La idea es que con un exe compilado, poder cambiar el número de botones y sus propiedades cambiando solamente el fichero .INI evitando tener que recompilar de nuevo el script. Esa parte la tengo funcionando sin problemas, el problema lo encuentro a la hora de llamar a la acción de cada botón que he creado, sencillamente no encuentro la manera de hacerlo y me estoy volviendo loco.
El código del script sería más o menos este:
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$sFilePath = "configuracion.ini"
$botones = IniReadSectionNames($sFilePath)
$Form1 = GUICreate("Mi Menú", @DesktopWidth, 75, -4, 0,Default, $WS_EX_TOOLWINDOW)
GUISetBkColor(0xBFCDDB)
For $i = 1 To $botones[0]
$boton = GUICtrlCreateButton(IniRead($sFilePath, $botones[$i], "Caption", "Default Value"), IniRead($sFilePath, $botones[$i], "posicion_x", "Default Value"), IniRead($sFilePath, $botones[$i], "posicion_y", "Default Value"), IniRead($sFilePath, $botones[$i], "ancho", "Default Value"), IniRead($sFilePath, $botones[$i], "alto", "Default Value"), $BS_FLAT)
GUICtrlSetFont(-1, IniRead($sFilePath, $botones[$i], "fontsize", "Default Value"), 800, 2, IniRead($sFilePath, $botones[$i], "font", "Default Value"))
GUICtrlSetColor(-1, IniRead($sFilePath, $botones[$i], "fontcolor", "Default Value"))
GUICtrlSetBkColor(-1, IniRead($sFilePath, $botones[$i], "color", "Default Value"))
$accion = IniRead($sFilePath, $botones[$i], "ruta", "Default Value")
Next
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $boton
;Run($accion)
EndSwitch
WEnd
Código: Seleccionar todo
[Boton1]
Caption=Explorador
Ruta=C:\Windows\explorer.exe
Color=0x000080
Font=Arial
FontColor=0XFFFFFF
FontSize=10
Alto=50
Ancho=200
Posicion_x=8
Posicion_y=8
Visible=1
[Boton2]
Caption=CMD
Ruta=C:\windows\system32\cmd.exe
Color=0xff0000
Font=Arial
FontColor=0XFFFFFF
FontSize=10
Alto=50
Ancho=200
Posicion_x=210
Posicion_y=8
Visible=1
Espero vuestros consejos, a mi me sale ya humo de la cabeza y no doy con el asunto, gracias.