UDF für login (pincode)

  • Ich denke so etwas muss es irgendwo geben, hab's nur noch nicht gefunden.

    Also.. ich suche eine UDF / Quellkode womit ich eine funktion abrufen kann, wie zB

    [autoit]


    if not (_get_pin("4")) >0 then ... ; 4 digits, default 3 retries

    [/autoit]

    damit eine Fenster sich öffnet und der nutzer gezwungen wird eine PIN-code einzugeben. Diese Fenster muss eine Zahlen-Block anzeigen für Touch-Screens.
    Ähnlich wie das hier (muss nicht unbedingt so aussehen, aber vom Funktion her... )

    Ich schaffe wohl das selbst zu machen, aber gibt es schon solche UDFs ?

    Evtl einige die ich als Anfang nutzen könnte ?

    Danke Im Voraus.

    PS: Deutsch ist nicht meine Muttersprache. :S

  • Ich meine mal was gelesen zu haben aber finden.

    Mit ein Paar Grafiken kann man sich sowas aber auch selbst basteln ...


    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 315, 324, 367, 276)
    $Input1 = GUICtrlCreateInput("Input1", 24, 8, 257, 40)
    $Button1 = GUICtrlCreateButton("Button1", 0, 63, 105, 65)
    $Button2 = GUICtrlCreateButton("Button1", 104, 63, 105, 65)
    $Button3 = GUICtrlCreateButton("Button1", 208, 63, 105, 65)
    $Button4 = GUICtrlCreateButton("Button1", 0, 128, 105, 65)
    $Button5 = GUICtrlCreateButton("Button1", 104, 128, 105, 65)
    $Button6 = GUICtrlCreateButton("Button1", 208, 128, 105, 65)
    $Button7 = GUICtrlCreateButton("Button1", 0, 192, 105, 65)
    $Button8 = GUICtrlCreateButton("Button1", 104, 192, 105, 65)
    $Button9 = GUICtrlCreateButton("Button1", 208, 192, 105, 65)
    $Button10 = GUICtrlCreateButton("Button1", 0, 256, 105, 65)
    $Button11 = GUICtrlCreateButton("Button1", 104, 256, 105, 65)
    $Button12 = GUICtrlCreateButton("Button1", 208, 256, 105, 65)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Ich glaube er will eher einen "Sperren" Screen.
    Aber davon gibts hier auch genug ...

    Nicht ganz so wie im USB-sperre. Eher: vor Nutzung einer Applikation muss der Anwender sich anmelden (über PIN)

    Es geht hier nur um eine Beispiel, absoluter Sicherheit ist deshalb nicht erforderlich.

    Ich werde dann warscheinlich irgendwas basteln... :D

    • Offizieller Beitrag

    Mal so auf die Schnelle:

    Überarbeitete Version:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $hMainGui = GUICreate('Main')
    GUISetState()
    $Pin = _PinInput(6, $hMainGui)
    MsgBox(0, 'Eingabe = ', $Pin)

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

    Func _PinInput($iCount = 4, $hParent = '')
    If $iCount > 10 Then $iCount = 10
    If $iCount < 0 Then $iCount = 4
    Local $iOldEventMode = Opt('GUIOnEventMode', 0), $msg, $sReturn, $sOut
    Local $aButtons[12] = ['7', '8', '9', '4', '5', '6', '1', '2', '3', 'C', '0', '<-']
    Local $aKeys[12] = [ _
    '{NUMPAD7}', '{NUMPAD8}', '{NUMPAD9}', _
    '{NUMPAD4}', '{NUMPAD5}', '{NUMPAD6}', _
    '{NUMPAD1}', '{NUMPAD2}', '{NUMPAD3}', _
    '{DELETE}', '{NUMPAD0}', '{ENTER}']
    Local $aAccelKeys[12][2], $ahButtons[12]
    If $hParent <> '' Then GUISetState(@SW_DISABLE, $hParent)
    Local $hGui = GUICreate('Pin eingeben (' & $iCount & ' stellig)', 224, 230, Default, Default, BitOR($WS_CAPTION, $WS_POPUPWINDOW), Default, $hParent)
    GUISetFont(14, 600, 0, 'Verdana')
    GUISetIcon('shell32.dll', 45)
    Local $hOutput = GUICtrlCreateLabel('', 16, 10, 192, 40, $SS_RIGHT, $WS_EX_STATICEDGE)
    GUICtrlSetFont(-1, 22, 400)
    GUICtrlSetBkColor(-1, 0xFFDDAA)
    For $i = 0 To 11
    $ahButtons[$i] = GUICtrlCreateButton($aButtons[$i], 16 + Mod($i, 3) * 64, 58 + Int($i / 3) * 40, 64, 40)
    $aAccelKeys[$i][0] = $aKeys[$i]
    $aAccelKeys[$i][1] = $ahButtons[$i]
    Next
    GUISetAccelerators($aAccelKeys, $hGui)
    GUISetState()
    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    If $hParent <> '' Then GUISetState(@SW_ENABLE, $hParent)
    GUIDelete($hGui)
    Opt('GUIOnEventMode', $iOldEventMode)
    Return SetError(1, 0, '')
    Case $ahButtons[11]
    If $hParent <> '' Then GUISetState(@SW_ENABLE, $hParent)
    GUIDelete($hGui)
    Opt('GUIOnEventMode', $iOldEventMode)
    Return SetError(0, 0, $sOut)
    Case $ahButtons[9]
    GUICtrlSetState($hOutput, $GUI_FOCUS)
    GUICtrlSetData($hOutput, '')
    $sOut = ''
    Case $ahButtons[0] To $ahButtons[10]
    If StringLen($sOut) < $iCount Then
    $sOut &= $aButtons[$msg - $ahButtons[0]]
    GUICtrlSetData($hOutput, StringLeft('**********', StringLen($sOut)))
    Beep(600, 100)
    Else
    Beep(200, 200)
    EndIf
    EndSwitch
    WEnd
    EndFunc

    [/autoit]
  • Hallo, gehört dieser Thread eigentlich nicht in "Hilfe / Unterstützung" oder zu anderem?
    Weil hier kommen doch nur wirkliche Projekte so weit ich weiß...

    Gruß
    Fabi

  • Ich hab vor kurzem eine eher grafisch ausgerichtete Versiob mit Crypt.au3 gemacht. Sie ist allerdingns noch (lange) nicht fertig und verlangt auch einen Benutzernamen.

    (Vorher mit der PM.au3 ein paar Benutzernamen & Passwörter machen)