Login-Eingaben mit [ ENTER ] abschließen

  • moin ...
    ... ich habe mittlerweile ja herausgefunden, wie ich meine "Login-GUI" gestalte.
    Üblicherweise gibt man ja wie folgt ein:
    Benutzername -> [ TAB ] -> Kennwort -> [ ENTER ]
    Allerdings kriege ich meine GUI nicht dazu, die Eingabe des Passwortes mit [ ENTER ] abzuschließen und den Login durchzuführen ...
    Man muss immer noch einmal mittels [ TAB ] auf den "OK-Button" und klicken.

    Vielleicht hat ja jemand einen Tipp, wie ich das bewerkstelligen kann, dass man nicht auf "OK" klicken muss, wenn man die Eingabe im Passwort-Feld mit [ ENTER ] bestätgt ...

    hier mal der bislang verwendete Quelltext:

    [autoit]


    GUICreate("SharePointLogin", 220, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1, 0x00000018)
    GUICtrlCreateLabel("Benutzer :", 10, 10, 60)
    $name = GUICtrlCreateInput("", 70, -1, 140, 20)
    GUICtrlCreateLabel("Kennwort :", 10, 40, 60)
    $pass = GUICtrlCreateInput("", 70, -1, 140, 20,$ES_PASSWORD)
    $btn = GUICtrlCreateButton("Ok", 70, 70, 80, 20)

    [/autoit]

    Einmal editiert, zuletzt von elmuchacho (19. April 2010 um 14:18)

  • Mach doch

    [autoit]

    HotKeySet ("{ENTER}", "_LogInAbschluss")

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

    Func _LogInAbschluss()If GUICtrlRead ($LogInName, "") and GUICtrlRead($LogInPasswort, "") or GUICtrlRead ($LogInName, "") or GUICtrlRead($LogInPasswort, "") ThenMsgBox(0, "Error", "Bitte trage LogIn Namen und LogIn Passwort ein!")ElseIf NOT GUICtrlRead ($LogInName, "") and GUICtrlRead($LogInPasswort, "") Then;Deine BefehleEndIfEndFunc

    [/autoit]


    MFG SpeedK

    EDIT:

    AutoIt.de spinnt mit Safari :(

  • Entweder so: (mit Case $cInput in der GUIGetMsg()-Schleife)

    Spoiler anzeigen
    [autoit]

    $hGUI = GUICreate("",240,60)
    $cInput = GUICtrlCreateInput("",20,20,200,20)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $cInput
    MsgBox(0,"",GUICtrlRead($cInput))
    EndSwitch
    WEnd

    [/autoit]

    oder so: (Achte auf den Button Style)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    $hGUI = GUICreate("", 240, 60)
    $cInput = GUICtrlCreateInput("", 20, 10, 200, 20)
    $cButton = GUICtrlCreateButton("Ok", 20, 35, 200, 20, $BS_DEFPUSHBUTTON) ; Man beachte den Button Style $BS_DEFPUSHBUTTON (0x0001)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $cButton
    MsgBox(0, "", GUICtrlRead($cInput))
    EndSwitch
    WEnd

    [/autoit]
  • [autoit]

    $cButton = GUICtrlCreateButton("Ok", 20, 35, 200, 20, $BS_DEFPUSHBUTTON) ; Man beachte den Button Style $BS_DEFPUSHBUTTON (0x0001)

    [/autoit]


    perfekt ...

    so hab ich mir das gedacht ...

    generell noch einmal nachgehakt : welche Auswirkung hat " -3 " als Schalter?
    ich habe darüber in der Hilfe nichts finden können ...

    meine komplette Schleife sieht bislang so aus ... ist vielleicht "sub-optimal" ;)

    [autoit]

    While (StringLen($username)<3) Or (StringLen($password)<6)
    GUICreate("SharePointLogin", 220, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1, 0x00000018)
    GUICtrlCreateLabel("Benutzer :", 10, 10, 60)
    $name = GUICtrlCreateInput("", 70, -1, 140, 20)
    GUICtrlCreateLabel("Kennwort :", 10, 40, 60)
    $pass = GUICtrlCreateInput("", 70, -1, 140, 20,$ES_PASSWORD)
    $btn = GUICtrlCreateButton("Ok", 70, 70, 80, 20, $BS_DEFPUSHBUTTON)

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

    GUISetState()

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Switch $msg
    Case $btn
    ExitLoop
    EndSwitch
    WEnd

    If $msg = $GUI_EVENT_CLOSE Then Exit

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

    $username = GUICtrlRead($name)
    $password = GUICtrlRead($pass)

    GUIDelete()
    WEnd

    [/autoit]