AutoIt v3

Topic created · 3 Mensajes · 1384 Visitas
  • **Buenas, hace tiempo descubrí el AutoIt v3, es un programa que crea scripts muy útiles, por ejemplo uno que hizo salva ayer.
    Hoy me he puesto para hacer un GM-Tool, con muchísimas cosas, bien, hice una ventana (Form1) para introducir el nombre del "proceso", para cuando vallas a clickar a ese botón, hasta que no estés en la ventana de ese proceso no escriba. Bien, pero esa es otra historia.
    El caso es que tengo 2 Forms. El Form1, que es necesario para el programa, y el Form2. Esto parecerá una chorrada (y lo es xD) pero si yo tengo el form1.

    #include 
    #include 
    #include 
    #include 
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Nombre de tu Metin2", 242, 72, 192, 124)
    $Button1 = GUICtrlCreateButton("Aceptar", 8, 8, 75, 25, $WS_GROUP)
    $METIN2 = GUICtrlCreateInput("METIN2", 96, 8, 121, 21)
    $Button2 = GUICtrlCreateButton("Información", 8, 40, 219, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $Button2
    		MsgBox(0,"Información","Introduce el nombre de tu Metin2, no el proceso. Ejemplo: Cuando se abre mi ventana de Metin2 pone: LordGodMt2. Yo debo introducir en ese espacio en blanco:  LordGodMt2 y luego hacer click en aceptar.")
    	case $Button1
    		While 2
    
    
    	EndSwitch
    WEnd
    

    Como puedo hacer que el Form1 te lleve al Form2 después de darle a un botón?
    Me explico: En VB2008 para que un botón te lleve a otro form es así.

    Form2.show
    me.hide
    

    Te lleva al form2, y el form1 se oculta, ¿Es posible eso en Auto-It v3?**

  • creo que tu entiendes el code pero lo explico por si acaso alguien tiene el mismo problema ni no sabe mucho

    el codigo completo esta abajo

    importamos la libreria

    #include 
    

    creamos el form1 y un boton

    $hGUI = GUICreate("form1", 200, 150)
    
    $hButton = GUICtrlCreateButton("Abrir otro form", 50, 50, 100, 30)
    

    aqui podriamos poner que el form apareca minimizado, maximizado, escondido etc.. lo dejamos por defecto que aparece

    GUISetState()
    

    mientras el programa este abierto, obtiene los mensajes como salir, o darle click al boton, en el evento boton hacemos que llame la funciona form2 que explicare ahora

    While 1
    
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case $hButton
                form2()
        EndSwitch
    
    WEnd
    

    casi todo esta explicado arriba... el codigo hace lo siguiente:

    -deshabilita el form1
    -crea el form2 y un boton para salir

    y en el evento salir del form2 hace lo siguiente :

    • borra el form2 y activa el form1

      Func form2()

        GUISetState(@SW_DISABLE, $HGUI)
        
        $hform2_GUI = GUICreate("form2", 100, 80)
        $hExit = GUICtrlCreateButton("salir", 10, 10, 80, 30)
      
        GUISetState()
      
        While 1
      
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE, $hExit
                    GUISetState(@SW_ENABLE, $hGUI)
                    GUIDelete($hform2_GUI)
                    Return
            EndSwitch
      
        WEnd
      

      EndFunc

    codigo completo:

    #include 
    
    
    $hGUI = GUICreate("form1", 200, 150)
    
    $hButton = GUICtrlCreateButton("Abrir otro form", 50, 50, 100, 30)
    
    GUISetState()
    
    While 1
    
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
            Case $hButton
                form2()
        EndSwitch
    
    WEnd
    
    
    Func form2()
    	
        GUISetState(@SW_DISABLE, $HGUI)
    	
        $hform2_GUI = GUICreate("form2", 100, 80)
        $hExit = GUICtrlCreateButton("salir", 10, 10, 80, 30)
    
        GUISetState()
    
        While 1
    
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE, $hExit
                    GUISetState(@SW_ENABLE, $hGUI)
                    GUIDelete($hform2_GUI)
                    Return
            EndSwitch
    
        WEnd
    
    EndFunc
  • Aquí puedes encontrar las funciones de las que dispones:
    [http://www.autoitscript.com/autoit3/docs/functions.htm][0]">[http://www.autoitscript.com/autoit3/docs/functions.htm][1]
    Te interesan fundamentalmente las que empiezan por "GUI" que son las que manejan elementos de interfaz gráfica. Por ejemplo:
    [GUIDelete][2]
    [GUISetState][3]

    [0]: <a href=
    [1]: http://www.autoitscript.com/autoit3/docs/functions.htm
    [2]: http://www.autoitscript.com/autoit3/docs/functions/GUIDelete.htm
    [3]: http://www.autoitscript.com/autoit3/docs/functions/GUISetState.htm