Captcha erstellen

02/11/2010 14:56 Masterakio1995#1
Hay Leute!
habe mal wieder ein problem.
Unzwar will ich ein script in meine regi einbauen damit ein captcha einblendet
Momentan schauts so aus
Quote:
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
Local $hGUI, $hWnd, $hGraphic, $input, $button, $array, $msg, $text
Local $array = StringSplit ("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "")
Local $string = ""
For $i = 1 to 5
$string &= $array[Random (1, UBound ($array))]
Next
; Create GUI
$hGUI = GUICreate("GDI+", 400, 300)
$hWnd = WinGetHandle("GDI+")
GUISetState()

; Draw a string
_GDIPlus_Startup ()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
_GDIPlus_GraphicsDrawString ($hGraphic, $string, 0, 0)
$input = GUICtrlCreateInput ("", 80, 0, 50)
$button = GUICtrlCreateButton ("Bestätigen", 240, 140, 30)
; Loop until user exits
While 1
$msg = GUIGetMsg ()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $button
$text = GUICtrlRead ($input)
If $text = $string Then

MsgBox (0, "Erfolgreich!", "Sie haben den Captcha richtig eingegeben.")
Else
MsgBox (0, "Fehler", "Versuchen Sie es später nocheinmal!")
EndIf
ExitLoop
EndSelect
WEnd
; Clean up resources
_GDIPlus_GraphicsDispose ($hGraphic)
_GDIPlus_Shutdown ()
EndFunc ;==>_Main
Aber das funzt leider nicht nur als einzelnes programm
Meine frage nun hat jemand eventl ein anderes script?
02/11/2010 15:04 kknb#2
das script ist doch von autoit.com und funktioniert astrein, wo ist das problem genau?
02/11/2010 15:06 Masterakio1995#3
das er die anderne variablen von mir dan immer löscht also von den guis
02/11/2010 15:08 kknb#4
poste mal nen beispiel script was nicht geht.
02/11/2010 15:08 Masterakio1995#5
mom ich glaube habe es geschaft
€.ok doch net
also nochma ^^ ein captcha in mein regiscript einfügen aber jedesmall zeig er mir anderen fehler an z.b das die gdiplus was fehlt oder das die variable nicht geht etc.
02/11/2010 15:17 kknb#6
poste einfach mal nen script was nicht funktioniet ...


captcha ist ja für mich nen mehr oder weniger verschlüsseltes wort was nicht sofort per ocr ausgelesen werden kann.

wenn du eh nur zufallszahlen und buchstaben generieren möchtest warum machst du es dann nicht gleich so?

Code:
$wort = ""
For $i = 1 to 6
        $letter = Random(48,122, 1)
    If $letter > 57 AND $letter < 65 OR $letter > 90 AND $letter < 97 Then
        $i -= 1
    Else
        $wort &= Chr($letter)
    EndIf
Next
02/11/2010 15:29 Masterakio1995#7
ok thx müsste jetzt klappen