Probleme mit Koda Form Designer

  • Hallo ihr,

    Habe schon meine erste Frage:

    Ich habe mit dem koda Form designer einen Butoon erstellt.
    wenn man auf diesen button klickt soll das Notepad geöffnet werden und da ein text eingegeben werden. Aber NUR EINMAL.
    Also das es dann nur einmal gesendet wird.
    Wie geht das?
    oder es muss auch nicht an notepad Gesendet werden ich wäre froh wenn ich es in ein Textfeld senden könnte. auch hier Wie geht das?

  • Ich versteh das jetzt mal so ....

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 350, 121, 192, 147)
    $Button1 = GUICtrlCreateButton("Button1", 128, 32, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Run("notepad.exe")
    WinWaitActive("(unbenannt) - Editor")
    send("Hallo Welt!")
    EndSwitch
    WEnd

    [/autoit]
  • Kann sein das das hier:

    [autoit]

    WinWaitActive("(unbenannt) - Editor")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]


    Falsch ist. Muss es nicht:

    [autoit]

    WinWaitActive("Unbennant - Editor")

    [/autoit]


    so heißen.

    Denn wenn man es mit der vorherigen Art öffnet, dann wartet er stundenlang auf den Editor, obwohl dieser schon längst offen ist.

    Und es geht auch ohne:

    [autoit]

    GUICtrlSetState($Button1, $GUI_DISABLE)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • Den Fenstertitel habe ich so angegeben wie er bei mir nunmal lautet. Arbeite gerade in einer WINE Umgebung.
    Und ja, es geht auch ohne $GUI_DISABLE. Ich habe es aber so verstanden, das es nur einmal möglich sein soll diesen Befehl auszuführen.

    mit Kommentaren
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 350, 121, 192, 147) ;Form erstellen
    $Button1 = GUICtrlCreateButton("Button1", 128, 32, 75, 25, $WS_GROUP) ;Button erstellen
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg ;Ereignisse auf der GUI abfangen
    Case $GUI_EVENT_CLOSE ;wenn x gedrückt ...
    Exit, ;Programm schliessen
    Case $Button1 ;wenn Button1 gedrückt ...
    GUICtrlSetState($Button1, $GUI_DISABLE) ;Button1 disablen /kann nicht nochmal gedrückt werden/
    Run("notepad.exe") ;notepad starten
    WinWaitActive("(unbenannt) - Editor") ;auf das Fenster warten /Titel des Fensters steht in den Klammern/
    send("Hallo Welt!") ;wenn das Fenster aufgebaut ist "Hallo Welt!" senden
    EndSwitch
    WEnd

    [/autoit]
  • Erklär bitte mal das script.

    Ich blicke das nicht^^

    Bin halt neu in autoit


    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit]


    Das sind erstmal die wichtigen Konstanten, die das Arbeiten mit dem Gui einfachen machen.

    [autoit]

    $Form1 = GUICreate("Form1", 350, 121, 192, 147)

    [/autoit]


    EIn Fenster mit dem Titel "Form 1" wird mit der Breite von 350 Pixeln und einer Höhe von 121 Pixeln an der Position 192,147 erzeugt.

    [autoit]

    $Button1 = GUICtrlCreateButton("Button1", 128, 32, 75, 25, $WS_GROUP)

    [/autoit]


    Ein Button mit der Aufschrift "Button 1" wird mit der Breite von 128 Pixeln und einer Höhe von 32 Pixeln an der Position 75,25 erzeugt.

    [autoit]

    GUISetState(@SW_SHOW)

    [/autoit]

    Das Fenster wird auf Sichtbar geschaltet.


    [autoit]

    While 1

    [/autoit]

    Endlos lange wird ...

    [autoit]

    $nMsg = GUIGetMsg()

    [/autoit]


    In der Variable wird gespeichert, was der Benutzer mit dem Fenster macht.

    [autoit]


    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit]


    Wenn er auf das 'X' klickt, wird das Skript beendet.

    [autoit] Case $Button1
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Run("notepad.exe")
    WinWaitActive("(unbenannt) - Editor")
    send("Hallo Welt!")
    EndSwitch
    WEnd

    Wenn er auf den Button klickt, wird der Button deaktiviert, dann wird der Editor gestarten und gewartet, bis er offen ist. Dann wird "hallo Welt!" eingegeben.

  • Zitat

    Den Fenstertitel habe ich so angegeben wie er bei mir nunmal lautet. Arbeite gerade in einer WINE Umgebung.
    Und ja, es geht auch ohne $GUI_DISABLE. Ich habe es aber so verstanden, das es nur einmal möglich sein soll diesen Befehl auszuführen.

    Asoooooo :D