Problem mit dem Notepad

  • Hallo zusammen.
    Bin noch ziemlich neu auf dem Gebiet.
    Also zu meiner Frage, ich will so zusagen ein "Tool" erstellen, was wenn man es öffnet erst ein Passwort abfragt, nach bestätigung des Passwortes öffnet sich das Notepad und dort werden dan mehrere Sachen hinein geschrieben. Soweit so gut. Nach ca 3 Zeilen soll eine Endlosschleife inkraft treten, welche einen bestimmten Satz ca. 30 sec wiederholt. Ich bin jetzt an der Stelle, bevor die Endlosschleife anfangen soll. der Zu schreibene Text erscheint beim öffnen der datei jedoch nicht, er erscheint entweder in anderen Fenstern die gerade geöffnet sind oder garnicht. Wenn ich dann das "leere" Notepad Fenster offen lasse und die datei erneut ausführe erschein der Text im ALTEN Notepad Fenster, nicht in dem wieder neu enstandenen Fenster.
    Ich würde dann gerne wissen warum das so ist und wie ich weiter machen muss mit der Endlosschleife welche nach 30 Sekunden Aufhört.
    Danke im Vorraus,

    [autoit]

    $answer = MsgBox(4, "Zauber Notepad", "Hallo, dies ist das Zauber Notepad.")

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

    If $answer = 7 Then
    MsgBox(4096, "Zauber Notepad", "Ok. Try Again")
    Exit
    EndIf

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

    $bLoop = 1
    While $bLoop = 1
    $text = InputBox("Zauber Notepad", "Bitte Tippen sie das Wort ""Pure"" und drücken sie Ok.")
    If @error = 1 Then
    MsgBox(4096, "Error", "Sie drückten'Cancel' - Try again!")
    Else

    If $text <> "Pure" Then
    MsgBox(4096, "Error", "Sie haben das falsche Wort eingegeben, Try again!")
    Else
    $bLoop = 0
    EndIf
    EndIf
    WEnd

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

    MsgBox(4096,"Zauber Notepad", "Sie haben das Richtige Wort eingegeben! Glückwunsch.")

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

    Run("notepad.exe")

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

    WinActivate ("[CLASS:NOTEPAD]")
    Send("Hallo, dies ist das Zauber Notepad.{ENTER}{ENTER}..Loading Files..{ENTER}")
    Sleep(4)
    Send("Script1.exe{ENTER}Script2.exe{ENTER}Script3.exe{ENTER}Script4.exe{ENTER}Script5.exe{ENTER}..Loading Files...{ENTER}")
    Sleep(4)

    [/autoit]

    Einmal editiert, zuletzt von Pure_M (3. Januar 2011 um 16:37)

  • [autoit]

    $answer = MsgBox(4, "Zauber Notepad", "Hallo, dies ist das Zauber Notepad.")

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

    If $answer = 7 Then
    MsgBox(4096, "Zauber Notepad", "Ok. Try Again")
    Exit
    EndIf

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

    $bLoop = 1
    While $bLoop = 1
    $text = InputBox("Zauber Notepad", "Bitte Tippen sie das Wort ""Pure"" und drücken sie Ok.")
    If @error = 1 Then
    MsgBox(4096, "Error", "Sie drückten'Cancel' - Try again!")
    Else

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

    If $text <> "Pure" Then
    MsgBox(4096, "Error", "Sie haben das falsche Wort eingegeben, Try again!")
    Else
    $bLoop = 0
    EndIf
    EndIf
    WEnd

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

    MsgBox(4096,"Zauber Notepad", "Sie haben das Richtige Wort eingegeben! Glückwunsch.")

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

    Run("notepad.exe")

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

    Winwaitactive ("Unbenannt - Editor")
    controlSend("Unbenannt - Editor", "", "Edit1","Hallo, dies ist das Zauber Notepad.{ENTER}{ENTER}..Loading Files..{ENTER}")
    Sleep(4)
    controlSend("Unbenannt - Editor", "","Edit1","Script1.exe{ENTER}Script2.exe{ENTER}Script3.exe{ENTER}Script4.exe{ENTER}Script5.exe{ENTER}..Loading Files...{ENTER}")
    Sleep(4)
    $i = 1
    Do

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

    controlSend("Unbenannt - Editor", "","Edit1","..Loading Files...{ENTER}")
    sleep (1000)
    $i += 1
    Until $i = 30

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

    $answer = MsgBox(4, "Zauber Notepad", "Hallo, dies ist das Zauber Notepad.")

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

    If $answer = 7 Then
    MsgBox(4096, "Zauber Notepad", "Ok. Try Again")
    Exit
    EndIf

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

    $bLoop = 1
    While $bLoop = 1
    $text = InputBox("Zauber Notepad", "Bitte Tippen sie das Wort ""Pure"" und drücken sie Ok.")
    If @error = 1 Then
    MsgBox(4096, "Error", "Sie drückten'Cancel' - Try again!")
    Else

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

    If $text <> "Pure" Then
    MsgBox(4096, "Error", "Sie haben das falsche Wort eingegeben, Try again!")
    Else
    $bLoop = 0
    EndIf
    EndIf
    WEnd

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

    MsgBox(4096, "Zauber Notepad", "Sie haben das Richtige Wort eingegeben! Glückwunsch.")

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

    Run("notepad.exe")

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

    WinSetState("[CLASS:Notepad]", "", @SW_SHOW)
    Send("Hallo, dies ist das Zauber Notepad.{ENTER}{ENTER}..Loading Files..{ENTER}")
    Sleep(4)
    Send("Script1.exe{ENTER}Script2.exe{ENTER}Script3.exe{ENTER}Script4.exe{ENTER}Script5.exe{ENTER}..Loading Files...{ENTER}")
    Sleep(4)

    [/autoit]
  • Ahsooo,
    Danke jetzt hab ich den Fehler auch entdeck, ich hatte ja anstadt "Winwaitactive" den Befehl "Winactive" benutzt,
    und viele dank das ihr mir mit der Schleife weitergeholfen habt.
    Besser zurecht gekommen bin ich mit ersterem Beitrag, mit dem anderen bin ich irgendwie nicht zurecht gekommen, trotzdem danke.


    Lg

  • Soo, also eine frage hab ich jetzt doch noch, also;
    Ich möchte das sich das Notepad schließt, nachdem der Text Automatisch geschrieben wurde.
    Eigentlich ja keine große Sache aber mein Problem ist das Aufforderungsfenster was dann erscheint und fragt ob gespeichert werden soll.
    Dieses soll mit "nein" beantwortet werden. Und, ich würde gerne wissen, wie ich diese später mal ".exe" Datei in den Autostart ordner automatisch kopiert bekomme.
    Danke im Vorraus,


    Und Ps; Ich brauche den Befehl für den Autostart Ordner NICHT für Illegale Zwecke oder "Scherzprogramme/Viren" ! Denn ich habe ja schließlich die Boardregeln gelesen und Aktzeptiert.


    [autoit]

    $answer = MsgBox(4, "Zauber Notepad", "Hallo, dies ist das Zauber Notepad.")

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

    If $answer = 7 Then
    MsgBox(4096, "Zauber Notepad", "Ok. Tschüss")
    Exit
    EndIf

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

    $bLoop = 1
    While $bLoop = 1
    $text = InputBox("Zauber Notepad", "Bitte Tippen sie das Wort ""Pure"" und drücken sie Ok.")
    If @error = 1 Then
    MsgBox(4096, "Error", "Sie drückten'Cancel' - Versuchen sie es erneut.")
    Else

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

    If $text <> "Pure" Then
    MsgBox(4096, "Error", "Sie haben das falsche Wort eingegeben, Versuchen sie es erneut!")
    Else
    $bLoop = 0
    EndIf
    EndIf
    WEnd

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

    MsgBox(4096,"Zauber Notepad", "Sie haben das Richtige Wort eingegeben! Glückwunsch.")

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

    Run("notepad.exe")

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

    Winwaitactive ("Unbenannt - Editor")
    controlSend("Unbenannt - Editor", "", "Edit1","Hallo, dies ist das Zauber Notepad.{ENTER}{ENTER}..Loading Files..{ENTER}")
    Sleep(4)
    controlSend("Unbenannt - Editor", "","Edit1","Script1.exe{ENTER}Script2.exe{ENTER}Script3.exe{ENTER}Script4.exe{ENTER}Script5.exe{ENTER}..Loading Files...{ENTER}")
    Sleep(4)
    $i = 1
    Do

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

    controlSend("Unbenannt - Editor", "","Edit1","..Loading Files...{ENTER}")
    sleep (1000)
    $i += 1
    Until $i = 30

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

    WinWait("Unbenannt - Editor")
    WinClose("Unbenannt - Editor")
    WinWaitClose("Unbenannt - Editor")

    [/autoit]
  • [autoit]

    controlSend("Unbenannt - Editor", "","Edit1","Script1.exe{ENTER}Script2.exe{ENTER}Script3.exe{ENTER}S

    [/autoit]

    Wenn hier wirklich ein Enter gewünscht ist fehlt Dir das '&' und ein paar "

    [autoit]

    controlSend("Unbenannt - Editor", "","Edit1","Script1.exe" & "{ENTER}" & "Script2.exe" & "{ENTER}" & "Script3.exe" & "{ENTER}"

    [/autoit]

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Ne, klappt auch ohne die "&" und """"

    Ich suche nach einer "Automatisierten" auf "nein" klick befehl :D

  • Schau dir das Fenster doch mal mit dem AuInfo Tool an dann und dann mit

    [autoit]

    ControlClick

    [/autoit]

    Der Pfad zum Autostart - Ordner ist bei mir unter Win7 64bi:
    C:\Users\@UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

  • Zitat

    Ne, klappt auch ohne die "&" und """"

    okäy, sah halt nur irgendwie kapputt aus :)

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • [autoit]

    WinKill()
    WinClose()

    [/autoit]


    Einfach den Namen vom Notepad einsetzen, das müsste gehen.

  • Vielen Danke BadBunny,
    was mir jetzt noch fehlt (den rest schaff ich dann auch alleine :D) ist, wie ich das später Fertige Script, automatisch in einen bestimmten Ordner kopieren/verschieben lasse.
    Kann mir dabei jemand weiterhelfen ?..
    Danke im Vorraus,

  • Von wo aus soll das Script verschoben werden? Aus dem selben Script? Dann dürfte dir FileCopy weiterhelfen. Wenn du willst, dass die Originaldatei nach ausführen gelöscht wird dann gib mal in Scite selfdelete ein und drücke danach die Leertaste. ;)

  • Ja genau aus dem selben Script. Oder eine Kopie erstellen, diese verschieben und die geöffnete Datei hinterher löschen.

    Lg,

    EDIT//

    Funtionier irgendwie nicht. Hab es mal mit einer anderen Datei ausprobiert ging auch nicht.
    Kann auch nicht "@name" anstatt des treffenden Benutzer Namens benutzen, also zb. anstatt "Hubert" "@name" zu benutzen funktioniert nicht. Gibt es dafür einen anderen Begriff ?

    Einmal editiert, zuletzt von Pure_M (3. Januar 2011 um 20:16)

  • [autoit]

    FileCopy (@ScriptFullPath, ;der Zielpfad, z.B. für Desktop @desktopdir

    [/autoit]
  • [autoit]

    @ScriptFullPath

    [/autoit]


    Bei sowas klappts, da ja der PrgName drinstehht.
    Bei

    [autoit]

    @ScripDir

    [/autoit]

    müste man prüfen ob es auf ein \ endet.
    Da macht es Unterschiede ob es / (also c:\) ist oder ein Verzeichnis irgendwo anders

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o