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