[Blockierte Grafik: http://img9.myimg.de/preview63cce.jpg]
Ich habe ein kleines Script geschrieben, welches zufällige Zahlen generiert und das zu den Zahlen passende Bild anzeigt. So entsteht ein Bilder-Code aus Fünf Zahlen (0-9).
Diese Zahlenabfolge muss man eingeben und "Bestätigen" klicken. Nun wird geprüft, ob die Eingabe mit der Zahlenabfolge übereinstimmt. Wenn nicht, wird eine Fehlermeldung angezeigt und es wird eine neue Zahlenabfolge generiert. Wenn man 3x den Code falsch eingegeben hat, wird das Script beendet.
Wenn der Code richtig eingegeben wurde, kan man z.B. einen Run-Befehl ausführen. Was passieren soll, nachdem der Code richtig eingegeben wurde, kann ganz einfach geändert werden.
Info: Das Script könnt ihr nach belieben umbauen, wäre cool, wenn ihr mir zeigen könntet was ihr draus gemacht habt. Die Bildchen der Zahlen könnt ihr auch frei verwenden.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
$times = 0
Global $pic[5], $random
Opt("GUIOnEventMode", 1)
$secure = GUICreate("Sicherheitscheck", 130, 85, 193, 129)
$code = GUICtrlCreateInput("Sicherheitscode...", 8, 40, 113, 21)
GUICtrlSetLimit(-1, 5)
For $i = 0 To 4
$pic[$i] = GUICtrlCreatePic("", 8+$i*24, 8, 17, 25, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
Next
$button1 = GUICtrlCreateButton("Bestätigen!", 8, 64, 113, 17, $BS_DEFPUSHBUTTON)
GUICtrlSetOnEvent(-1, "check")
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
Refresh()
While 1
Sleep(1000)
WEnd
Func check()
If GUICtrlRead($code) = $random Then
MsgBox(0, "Erfolg!", "Sicherheitscheck erfolgreich. Vielen Dank für ihre Geduld.") ;# Wer nicht will, dass sich ein Fenster öffnet, indem mitgeteilt wird, dass der Code richtig eingegeben wurde, kann diese Zeile löschen. #
Closeandopen()
Else
$times += 1
If $times = 3 Then
MsgBox(64, "Es ist ein Fehler aufgetreten!", "Sie haben bereits 3x den Sicherheitscode falsch eingegeben. Das Programm wird nun beendet.")
Exit
Else
MsgBox(64, "Es ist ein Fehler aufgetreten!", "Der eigegebene Sicherheitscode stimmt nicht mit dem Bild überein! Versuchen sie es bitte erneut.")
Refresh()
EndIf
EndIf
EndFunc
Func Refresh()
$random = ""
For $i = 0 To 4
$ran = Random(0, 9, 1)
$random &= $ran
GUICtrlSetImage($pic[$i], @ScriptDir&"\images\"&$ran&".jpg")
Next
EndFunc
Func CLOSEClicked()
Exit
EndFunc
;# Diese Funktion wird gestartet, nachdem der Code richtig eingegeben wurde. #
Func Closeandopen()
Run("notepad.exe") ;# Hier den Pfad der zu öffnenden EXE, BAT, COM oder PIF Datei eingeben. (Run ( "filename" [, "workingdir" [, flag]] )) #
Exit
EndFunc
Im Dateianhang enthalten:
secure.au3
/images:
0.jpg
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg