El problema que tengo ahora es que tengo el script y un archivo.ini que le va diciendo al script si el programa esta instalado o no y me activa automaticamente los botones de desinstalar
pero cuando el script me activa los botones de desinstalar estos empieza a parpadear y no lo se porque
os pongo el codigo del script y el del archivo .ini
Este es mi primer script que he creado con autoit y la primera vez que he programado algo
espero vuestra respuesta
gracias
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <guiconstants.au3>
#Region ### START Koda GUI section ### Form=
$var = 1
$Form1 = GUICreate("Form1", 361, 202, 286, 228)
$Checkbox1 = GUICtrlCreateCheckbox("Install 1", 40, 32, 81, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Install 2", 40, 72, 81, 17)
$Group1 = GUICtrlCreateGroup("Theme", 8, 8, 345, 137)
$Button3 = GUICtrlCreateButton("Desinstalar", 144, 32, 81, 17, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Desinstalar", 144, 72, 81, 17, $WS_GROUP)
$Checkbox3 = GUICtrlCreateCheckbox("Install 3", 40, 112, 73, 17)
$Button5 = GUICtrlCreateButton("Desinstalar", 144, 112, 81, 17, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Aceptar", 64, 160, 97, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Cancelar", 200, 160, 97, 25, $WS_GROUP)
$Checkbox1estado = IniRead("estados.ini","Checkbox1", "estado", "")
$Checkbox1estado = IniRead("estados.ini","Checkbox2", "estado", "")
$Checkbox1estado = IniRead("estados.ini","Checkbox3", "estado", "")
GUICtrlSetState($Button3,$GUI_DISABLE)
GUICtrlSetState($Button4,$GUI_DISABLE)
GUICtrlSetState($Button5,$GUI_DISABLE)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Func _chkIsChecked($chk)
Return BitAnd(GUICtrlRead($chk),$GUI_CHECKED) = $GUI_CHECKED
EndFunc
Func Checkbox1()
GUICtrlSetState($Button3,$GUI_ENABLE)
GUICtrlSetState($Checkbox1,$GUI_DISABLE)
EndFunc
Func Checkbox2()
GUICtrlSetState($Button4,$GUI_ENABLE)
GUICtrlSetState($Checkbox2,$GUI_DISABLE)
EndFunc
Func Checkbox3()
GUICtrlSetState($Button5,$GUI_ENABLE)
GUICtrlSetState($Checkbox3,$GUI_DISABLE)
EndFunc
While 2
$msg = GUIGetMsg()
If IniRead("estados.ini","Checkbox1","estado","") Then Checkbox1()
If IniRead("estados.ini","Checkbox2","estado","") Then Checkbox2()
If IniRead("estados.ini","Checkbox3","estado","") Then Checkbox3()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If _chkIsChecked($Checkbox1) Then
ShellExecute("prueba1.exe")
IniWrite("estados.ini","Checkbox1", "estado","instalado")
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
EndIf
If _chkIsChecked($Checkbox2) Then
ShellExecute("prueba2.exe")
IniWrite("estados.ini","Checkbox2", "estado","instalado")
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
EndIf
If _chkIsChecked($Checkbox3) Then
ShellExecute("prueba3.exe")
IniWrite("estados.ini","Checkbox3", "estado","instalado")
GUICtrlSetState($Checkbox3,$GUI_UNCHECKED)
EndIf
Case $Button2
Exit
Case $Button3
If IniRead("estados.ini","Checkbox1","estado","instalado") Then
ShellExecute("desinstalar3.exe")
IniDelete("estados.ini","Checkbox1","estado")
GUICtrlSetState($Button3,$GUI_DISABLE)
GUICtrlSetState($Checkbox1,$GUI_ENABLE)
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
EndIf
Case $Button4
If IniRead("estados.ini","Checkbox2","estado","instalado") Then
ShellExecute("desinstalar4.exe")
IniDelete("estados.ini","Checkbox2","estado")
GUICtrlSetState($Button4,$GUI_DISABLE)
GUICtrlSetState($Checkbox2,$GUI_ENABLE)
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
EndIf
Case $Button5
If IniRead("estados.ini","Checkbox3","estado","instalado") Then
ShellExecute("desinstalar5.exe")
IniDelete("estados.ini","Checkbox3","estado")
GUICtrlSetState($Button5,$GUI_DISABLE)
GUICtrlSetState($Checkbox3,$GUI_ENABLE)
GUICtrlSetState($Checkbox3,$GUI_UNCHECKED)
EndIf
EndSwitch
WEnd
Código: Seleccionar todo
[Checkbox1]
[Checkbox2]
estado=instalado
[Checkbox3]
estado=instalado