"Quit" Knopf geht nicht, egal was ich mache.

  • Hallo! Ich habe eben mein erstes großes Script fertiggestellt und wollte eigentlich nur noch "schnell" die Funktion fuer den Quit-Knopf einbauen... Ja, das war heute Nachmittag um 16 Uhr(-.-). Ich poste mal ein Teil meines Scripts, damit ihr sehen koennt wie ich es gemacht habe.

    $Code = 0
    $Notepad = 0

    GuiCreate("MyGUI", 170, 20,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GuiCtrlCreateButton("Create", 0, 0, 85, 20)
    $Exit = GuiCtrlCreateButton("Exit", 85, 0, 85, 20)
    GUISetState(@SW_SHOW)

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $OK And $Code = 0 Then
    GUISetState(@SW_HIDE)
    ProcessClose("IEXPLORE.exe")
    Sleep(50)
    Script1()
    $Notepad = 1
    $Code = 1
    Script2()
    ElseIf $msg = $OK And $Code = 1 Then
    Sleep(50)
    GUISetState(@SW_HIDE)
    Script3()
    $Code = 0
    New()
    If $msg = $Exit Then
    Save()
    EndIf
    EndIf
    WEnd

    Func Save()
    Sleep(100)
    ProcessClose("IEXPLORE.exe")
    Sleep(100)
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    WinWaitActive("Speichern unter")
    Sleep(100)
    Date()
    Sleep(50)
    Send(".txt")
    Sleep(100)
    Send("{ENTER}")
    Sleep(50)
    Exit
    EndFunc

    Das sollte das Wichtigste sein.

    Der Exit Button soll also quasi eine bereits offene Textdatei abspeichern und das Script beenden. Es ist vollkommen egal was ich da rein schreibe, der Knopf geht einfach nicht. Ich habs auch schon auf anderen Wegen probiert aber letztendlich stell ich nur mein ganzes Script auf den Kopf und es entstehen Probleme an anderen Ecken. *help*

    Einmal editiert, zuletzt von Tinu (28. Juni 2007 um 21:42)

    • Offizieller Beitrag

    Hi,

    Spoiler anzeigen
    [autoit]

    #include<GUIConstants.au3>
    $Code = 0
    $Notepad = 0

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

    GUICreate("MyGUI", 170, 20, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GUICtrlCreateButton("Create", 0, 0, 85, 20)
    $Exit = GUICtrlCreateButton("Exit", 85, 0, 85, 20)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $OK And $Code = 0 Then
    GUISetState(@SW_HIDE)
    ProcessClose("IEXPLORE.exe")
    Sleep(50)
    Script1 ()
    $Notepad = 1
    $Code = 1
    Script2 ()
    ElseIf $msg = $OK And $Code = 1 Then
    Sleep(50)
    GUISetState(@SW_HIDE)
    Script3 ()
    $Code = 0
    New ()
    EndIf
    If $msg = $Exit Then
    Save()
    EndIf
    WEnd

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

    Func Save()
    Sleep(100)
    ProcessClose("IEXPLORE.exe")
    Sleep(100)
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    WinWaitActive("Speichern unter")
    Sleep(100)
    Date ()
    Sleep(50)
    Send(".txt")
    Sleep(100)
    Send("{ENTER}")
    Sleep(50)
    Exit
    EndFunc ;==>Save

    [/autoit]

    So long,

    Mega

  • Hab das EndIf versetzt, das Problem bleibt das selbe. Tut sich nichts, wenn ich Quit druecke. Ich bekomm echt zuviel >_> An so einem Muell haenge ich.

    Um es nochmal ganz unabhaengig zu machen habe ich mal eine Test.au3 erstellt, dein ueberarbeitetes Script reinkopiert, die Funktionen(Ausser Save) entnommen und versucht ob es dann geht, tut sich aber auch nichts.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

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

    global $Buchstaben, $Buchstaben2, $Zahlen, $Account, $Code, $Notepad, $Input1, $Input2, $Next, $msg, $OK, $Start, $Bday1, $Bday2, $Bday3, $Exit, $Quit, $B1, $B2, $B3, $Z1, $S1, $C1, $C2, $C3

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

    $Code = 0
    $Notepad = 0

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

    GuiCreate("Account Creator", 170, 20,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GuiCtrlCreateButton("Create", 0, 0, 85, 20)
    $Exit = GuiCtrlCreateButton("Exit", 85, 0, 85, 20)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $OK And $Code = 0 Then
    GUISetState(@SW_HIDE)
    ProcessClose("IEXPLORE.exe")
    Sleep(50)
    TrashMail()
    $Notepad = 1
    $Code = 1
    euRO()
    ElseIf $msg = $OK And $Code = 1 Then
    Sleep(50)
    GUISetState(@SW_HIDE)
    Validation()
    $Code = 0
    New()
    EndIf
    If $msg = $Exit Then
    Save()
    EndIf
    WEnd

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

    Func New()
    GuiCreate("Account Creator", 170, 20,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GuiCtrlCreateButton("Next", 0, 0, 85, 20)
    $NO = GuiCtrlCreateButton("Quit", 85, 0, 85, 20)
    GUISetState(@SW_SHOW)
    EndFunc

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

    Func Save()
    Sleep(100)
    ProcessClose("IEXPLORE.exe")
    Sleep(100)
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    WinWaitActive("Speichern unter")
    Sleep(100)
    Date()
    Sleep(50)
    Send(".txt")
    Sleep(100)
    Send("{ENTER}")
    Sleep(50)
    Exit
    EndFunc

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

    Func Buchstaben()
    $B1 = Random(3, 4, 1)
    $S1 = ""

    For $B3 = 1 to $B1 step 1
    $B2 = Random(0, 9, 1)

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

    If $B2 == 1 then $B2 = "ku"
    If $B2 == 2 then $B2 = "ni"
    If $B2 == 3 then $B2 = "de"
    If $B2 == 4 then $B2 = "ko"
    If $B2 == 5 then $B2 = "in"
    If $B2 == 6 then $B2 = "ro"
    If $B2 == 7 then $B2 = "tu"
    If $B2 == 8 then $B2 = "sa"
    If $B2 == 9 then $B2 = "na"
    If $B2 == 0 then $B2 = "re"

    $S1 = $S1 & $B2

    Next
    Return $S1
    EndFunc

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

    Func Buchstaben2()
    $B1 = Random(3, 4, 1)

    For $B3 = 1 to $B1 step 1
    $B2 = Random(0, 9, 1)

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

    If $B2 == 1 then $B2 = "ku"
    If $B2 == 2 then $B2 = "ni"
    If $B2 == 3 then $B2 = "de"
    If $B2 == 4 then $B2 = "ko"
    If $B2 == 5 then $B2 = "in"
    If $B2 == 6 then $B2 = "ro"
    If $B2 == 7 then $B2 = "tu"
    If $B2 == 8 then $B2 = "sa"
    If $B2 == 9 then $B2 = "na"
    If $B2 == 0 then $B2 = "re"

    Send($B2)

    Next
    EndFunc

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

    Func Zahlen()
    $Z1 = Random (11, 999, 1)
    Return $Z1

    EndFunc

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

    Func Date()
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    Sleep(50)
    Send("Accounts")
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send("-")
    Send("{SPACE}")
    Sleep(50)
    Send(@MDAY)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@MON)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@YEAR)
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send("-")
    Send("{SPACE}")
    Sleep(50)
    Send(@HOUR)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@MIN)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@SEC)
    Send(".txt")

    EndFunc

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

    Func Bday12()
    $Bday1 = Random(1, 12, 1)
    $S1 = ""

    For $Bday3 = 1 to $Bday1 step 1
    $Bday2 = Random(1, 1, 1)
    If $Bday2 == 1 then $Bday2 = Send("{DOWN}")
    $S1 = $S1 & $Bday2

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

    Next
    Return $S1
    EndFunc

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

    Func Bday28()
    $Bday1 = Random(1, 28, 1)
    $S1 = ""

    For $Bday3 = 1 to $Bday1 step 1
    $Bday2 = Random(1, 1, 1)
    If $Bday2 == 1 then $Bday2 = Send("{DOWN}")
    $S1 = $S1 & $Bday2

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

    Next
    Return $S1
    EndFunc

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

    Func Country()
    $C1 = Random(1, 43, 1)
    $S1 = ""

    For $C3 = 1 to $C1 step 1
    $C2 = Random(1, 1, 1)
    If $C2 == 1 then $C2 = Send("{DOWN}")
    $S1 = $S1 & $C2

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

    Next
    Return $S1
    EndFunc

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

    Func Account()
    $Buchstaben = Buchstaben()
    $Zahlen = Zahlen()
    $Account = $Buchstaben & $Zahlen
    Return $Account
    EndFunc

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

    Func TrashMail() ; Ueber eventuelles auslesen der Passwoerter nachdenken

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

    If $Notepad = 0 Then
    Run("Notepad.exe", "", @SW_MINIMIZE)
    Sleep(100)
    #cs Run("TempMail.exe")
    WinWaitActive("TempMail 1.3.0")
    Sleep(50)
    Send("{TAB 5}")
    Sleep(50)
    Send("{ENTER}")
    WinWait("Informationen")
    Sleep(50)
    #ce Send("{ENTER}")
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    $Input1 = Account()
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send($Input1)
    Sleep(50)
    Send("{SPACE}")

    ElseIf $Notepad = 1 Then
    #cs Run("TempMail.exe")
    WinWaitActive("TempMail 1.3.0")
    Sleep(50)
    Send("{TAB 5}")
    Sleep(50)
    Send("{ENTER}")
    WinWait("Informationen")
    Sleep(50)
    Send("{ENTER}")
    #ce WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ENTER}")
    Sleep(50)
    $Input1 = Account()
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send($Input1)
    Sleep(50)
    Send("{SPACE}")

    EndIf
    EndFunc

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

    Func euRO() ; Loesung fuer das euro-ro.de Sleep Problem ausdenken
    Run("IEXPLORE.exe", "", @SW_MAXIMIZE)
    Sleep(50)
    WinActivate("about:blank - Microsoft Internet Explorer")
    Sleep(50)
    WinWaitActive("about:blank - Microsoft Internet Explorer")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("http://www.euro-ro.net/apps/usermmt.app/register_user.php?oref=DERTLII0&fid=&c3po=00000000")
    Sleep(50)
    Send("{ENTER}")
    Sleep(50)
    WinWaitActive("euRO: European Ragnarok Online - Microsoft Internet Explorer", "", 10)

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

    If WinExists("euRO: European Ragnarok Online - Microsoft Internet Explorer") = 1 Then
    Sleep(4000)
    Send("{TAB 20}")
    Sleep(50)
    Buchstaben2()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Buchstaben2()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("{DOWN 2}")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Bday28()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Bday12()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Bday28()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Country()
    Sleep(50)
    Send("{TAB}")
    Send($Input1)
    Sleep(50)

    GuiCreate("Account Creator", 170, 20,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GuiCtrlCreateButton("OK", 120, 0, 50, 20)
    $Input2 = GuiCtrlCreateInput("Validation Code", 0, 0, 120, 20)
    GUISetState(@SW_SHOW)

    ElseIf WinExists("euRO: European Ragnarok Online - Microsoft Internet Explorer") = 0 Then
    ProcessClose("IEXPLORE.exe")
    Sleep(1000)
    euRO()
    EndIf
    EndFunc

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

    Func Validation() ; Enter einbauen
    Sleep(50)
    WinActivate("euRO: European Ragnarok Online - Microsoft Internet Explorer")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send(GUICtrlRead($Input2))
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    ;Send("{ENTER}")
    Sleep(50)
    EndFunc

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

    2 Mal editiert, zuletzt von Tinu (28. Juni 2007 um 22:20)

  • Ich würde es erstma oben so ändern:

    [autoit]

    If $msg = $Exit Then
    Save()
    Exitloop

    [/autoit]

    Und das es net geht, liegt wohl daran, dass dein Script auf Dinge wartet, die nicht exisiteren.

    @ mega: Ich würde die Msgbox eher am Ende der Funktion einfügen. Ist bei dieser Funktion denke ich schlauer.

    Einmal editiert, zuletzt von Sn0opy (28. Juni 2007 um 22:11)

  • Also das mit der MessageBox geht wunderbar. Nur bei der Funktion haengts wieder. Ich poste jetzt mal das ganze Script, ausfuehren wird allerdings nur bedingt klappten, weil dazu bestimmte Programme benoetigt werden. Und nochmal vielen Dank fuer die freundliche und schnelle Hilfe!

    EDIT: Wenn ich da ExitLoop drunter schreibe laesst sich das ganze Script nicht mehr starten

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    Global $Buchstaben, $Buchstaben2, $Zahlen, $Account, $Code, $Notepad, $Input1, $Input2, $Next, $msg, $OK, $Start, $Bday1, $Bday2, $Bday3, $Exit, $Quit, $B1, $B2, $B3, $Z1, $S1, $C1, $C2, $C3

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

    $Code = 0
    $Notepad = 0

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

    GUICreate("Account Creator", 170, 20, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GUICtrlCreateButton("Create", 0, 0, 85, 20)
    $Exit = GUICtrlCreateButton("Exit", 85, 0, 85, 20)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $OK And $Code = 0 Then
    GUISetState(@SW_HIDE)
    ProcessClose("IEXPLORE.exe")
    Sleep(50)
    TrashMail()
    $Notepad = 1
    $Code = 1
    euRO()
    ElseIf $msg = $OK And $Code = 1 Then
    Sleep(50)
    GUISetState(@SW_HIDE)
    Validation()
    $Code = 0
    New()
    EndIf
    If $msg = $Exit Then
    Save()
    EndIf
    WEnd

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

    Func New()
    GUICreate("Account Creator", 170, 20, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GUICtrlCreateButton("Next", 0, 0, 85, 20)
    $NO = GUICtrlCreateButton("Quit", 85, 0, 85, 20)
    GUISetState(@SW_SHOW)
    EndFunc ;==>New

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

    Func Save()
    Sleep(100)
    ProcessClose("IEXPLORE.exe")
    Sleep(100)
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    WinWaitActive("Speichern unter")
    Sleep(100)
    Date()
    Sleep(50)
    Send(".txt")
    Sleep(100)
    Send("{ENTER}")
    Sleep(50)
    Exit
    EndFunc ;==>Save

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

    Func Buchstaben()
    $B1 = Random(3, 4, 1)
    $S1 = ""

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

    For $B3 = 1 To $B1 Step 1
    $B2 = Random(0, 9, 1)

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

    If $B2 == 1 Then $B2 = "ku"
    If $B2 == 2 Then $B2 = "ni"
    If $B2 == 3 Then $B2 = "de"
    If $B2 == 4 Then $B2 = "ko"
    If $B2 == 5 Then $B2 = "in"
    If $B2 == 6 Then $B2 = "ro"
    If $B2 == 7 Then $B2 = "tu"
    If $B2 == 8 Then $B2 = "sa"
    If $B2 == 9 Then $B2 = "na"
    If $B2 == 0 Then $B2 = "re"

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

    $S1 = $S1 & $B2

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

    Next
    Return $S1
    EndFunc ;==>Buchstaben

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

    Func Buchstaben2()
    $B1 = Random(3, 4, 1)

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

    For $B3 = 1 To $B1 Step 1
    $B2 = Random(0, 9, 1)

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

    If $B2 == 1 Then $B2 = "ku"
    If $B2 == 2 Then $B2 = "ni"
    If $B2 == 3 Then $B2 = "de"
    If $B2 == 4 Then $B2 = "ko"
    If $B2 == 5 Then $B2 = "in"
    If $B2 == 6 Then $B2 = "ro"
    If $B2 == 7 Then $B2 = "tu"
    If $B2 == 8 Then $B2 = "sa"
    If $B2 == 9 Then $B2 = "na"
    If $B2 == 0 Then $B2 = "re"

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

    Send($B2)

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

    Next
    EndFunc ;==>Buchstaben2

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

    Func Zahlen()
    $Z1 = Random(11, 999, 1)
    Return $Z1

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

    EndFunc ;==>Zahlen

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

    Func Date()
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    Sleep(50)
    Send("Accounts")
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send("-")
    Send("{SPACE}")
    Sleep(50)
    Send(@MDAY)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@MON)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@YEAR)
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send("-")
    Send("{SPACE}")
    Sleep(50)
    Send(@HOUR)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@MIN)
    Sleep(50)
    Send(".")
    Sleep(50)
    Send(@SEC)
    Send(".txt")
    EndFunc ;==>Date

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

    Func Bday12()
    $Bday1 = Random(1, 12, 1)
    $S1 = ""

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

    For $Bday3 = 1 To $Bday1 Step 1
    $Bday2 = Random(1, 1, 1)
    If $Bday2 == 1 Then $Bday2 = Send("{DOWN}")
    $S1 = $S1 & $Bday2

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

    Next
    Return $S1
    EndFunc ;==>Bday12

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

    Func Bday28()
    $Bday1 = Random(1, 28, 1)
    $S1 = ""

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

    For $Bday3 = 1 To $Bday1 Step 1
    $Bday2 = Random(1, 1, 1)
    If $Bday2 == 1 Then $Bday2 = Send("{DOWN}")
    $S1 = $S1 & $Bday2

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

    Next
    Return $S1
    EndFunc ;==>Bday28

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

    Func Country()
    $C1 = Random(1, 43, 1)
    $S1 = ""

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

    For $C3 = 1 To $C1 Step 1
    $C2 = Random(1, 1, 1)
    If $C2 == 1 Then $C2 = Send("{DOWN}")
    $S1 = $S1 & $C2

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

    Next
    Return $S1
    EndFunc ;==>Country

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

    Func Account()
    $Buchstaben = Buchstaben()
    $Zahlen = Zahlen()
    $Account = $Buchstaben & $Zahlen
    Return $Account
    EndFunc ;==>Account

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

    Func TrashMail() ; Ueber eventuelles auslesen der Passwoerter nachdenken

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

    If $Notepad = 0 Then
    Run("Notepad.exe", "", @SW_MINIMIZE)
    Sleep(100)
    #cs Run("TempMail.exe")
    WinWaitActive("TempMail 1.3.0")
    Sleep(50)
    Send("{TAB 5}")
    Sleep(50)
    Send("{ENTER}")
    WinWait("Informationen")
    Sleep(50)
    #ce Send("{ENTER}")
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    $Input1 = Account()
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send($Input1)
    Sleep(50)
    Send("{SPACE}")

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

    ElseIf $Notepad = 1 Then
    #cs Run("TempMail.exe")
    WinWaitActive("TempMail 1.3.0")
    Sleep(50)
    Send("{TAB 5}")
    Sleep(50)
    Send("{ENTER}")
    WinWait("Informationen")
    Sleep(50)
    Send("{ENTER}")
    #ce WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ENTER}")
    Sleep(50)
    $Input1 = Account()
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{SPACE}")
    Sleep(50)
    Send($Input1)
    Sleep(50)
    Send("{SPACE}")

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

    EndIf
    EndFunc ;==>TrashMail

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

    Func euRO() ; Loesung fuer das euro-ro.de Sleep Problem ausdenken
    Run("IEXPLORE.exe", "", @SW_MAXIMIZE)
    Sleep(50)
    WinActivate("about:blank - Microsoft Internet Explorer")
    Sleep(50)
    WinWaitActive("about:blank - Microsoft Internet Explorer")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("http://www.euro-ro.net/apps/usermmt.app/register_user.php?oref=DERTLII0&fid=&c3po=00000000")
    Sleep(50)
    Send("{ENTER}")
    Sleep(50)
    WinWaitActive("euRO: European Ragnarok Online - Microsoft Internet Explorer", "", 10)

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

    If WinExists("euRO: European Ragnarok Online - Microsoft Internet Explorer") = 1 Then
    Sleep(4000)
    Send("{TAB 20}")
    Sleep(50)
    Buchstaben2()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Buchstaben2()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("{CTRLDOWN}")
    Sleep(50)
    Send("v")
    Sleep(50)
    Send("{CTRLUP}")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send("{DOWN 2}")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Bday28()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Bday12()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Bday28()
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Country()
    Sleep(50)
    Send("{TAB}")
    Send($Input1)
    Sleep(50)

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

    GUICreate("Account Creator", 170, 20, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $OK = GUICtrlCreateButton("OK", 120, 0, 50, 20)
    $Input2 = GUICtrlCreateInput("Validation Code", 0, 0, 120, 20)
    GUISetState(@SW_SHOW)

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

    ElseIf WinExists("euRO: European Ragnarok Online - Microsoft Internet Explorer") = 0 Then
    ProcessClose("IEXPLORE.exe")
    Sleep(1000)
    euRO()
    EndIf
    EndFunc ;==>euRO

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

    Func Validation() ; Enter einbauen
    Sleep(50)
    WinActivate("euRO: European Ragnarok Online - Microsoft Internet Explorer")
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    Send(GUICtrlRead($Input2))
    Sleep(50)
    Send("{TAB}")
    Sleep(50)
    ;Send("{ENTER}")
    Sleep(50)
    EndFunc ;==>Validation

    [/autoit]

    bernd670: AutoIt-Tags eingefügt!

    4 Mal editiert, zuletzt von Tinu (28. Juni 2007 um 22:23)

    • Offizieller Beitrag

    Hi,

    was ist denn dein wirkliches Problem? Ich dachte der Quit Button würde nicht funktionieren.

    Jetzt funktioniert er, aber die Func Save() tut nicht das was sie soll?

    @SnoOpy : Gerade nicht, denn er sollte ja sehen, dass die Func aufgerufen und damit die Bestätigung bekommen, dass der Button funktioniert!

    So long,

    Mega

  • Also ich hab es jetzt nochmal ganz genau getestet und kann das Problem genau benennen. Sobald ich die Messagebox durch eine Funktion ersetze geht es nicht mehr. Und ich weiss nicht warum

    EDIT: Wenn ich die Befehle ganz normal reinschreibe dann gehts, nur als FUnktion eben nicht.

    Einmal editiert, zuletzt von Tinu (28. Juni 2007 um 22:26)

  • Hast du überhaupt den Editor offen? Ich denke, dass das Script einfach auf nen offenes, leeres Dokument wartet und deshalb auch nicht weiter geht.

    //Edit: Das ganze bestätigt sich dadurch, indem man mal oben im Script unter die Includes einfach folgendes Option einfügt (Danke für den Hinweis vorhin, Huggy):

    Opt("TrayIconDebug", 1)


    Wenn man dann die Maus unten rechts über das Icon hällt, sieht man sehr gut, dass das Script auf das aktive Fenster vom Notepad wartet.


    Nochn Edit. Setz ma ein " ; " vor die Winwaitactive's, dann siehst du, dass sich das Script schließt, wenn du auf Exit klickst. Ich würde mal sagen, dass sich das Problem dadurch löst, indem du entweder endlich das Fenster öffnest, bzw. aktivierst, oder du eine if-Abfrage einbaust, in der du überhaupt abfragst, ob dieses Fenster überhaupt existiert (WinExists).

    2 Mal editiert, zuletzt von Sn0opy (28. Juni 2007 um 22:31)

    • Offizieller Beitrag

    Hallo,

    ersetzte mal die Funktion Save durch diese:

    Spoiler anzeigen
    [autoit]

    Func Save()
    Sleep(100)
    ProcessClose("IEXPLORE.exe")
    Sleep(100)
    If WinExists("Unbenannt - Editor") Then
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    WinWaitActive("Speichern unter")
    Sleep(100)
    Date()
    Sleep(50)
    Send(".txt")
    Sleep(100)
    Send("{ENTER}")
    Sleep(50)
    EndIf
    Exit
    EndFunc ;==>Save

    [/autoit]

    Dann wird das Speichern nur durchgeführt wenn Notepad auch läuft!