Tutorial falsch?

  • hi,

    gehe im moment einige Tuts durch. Nun mein erstes Problem.

    http://translation.autoit.de/onlinehilfe/tu…pad/notepad.htm

    WinWaitActive("Editor", "Möchten Sie die Änderungen an Unbenannt speichern?") geht leider nicht. Es schließt sich nicht. Lasse ich hingegen "Möchten Sie die Änderungen an Unbenannt speichern?" weg, also schreibe nichts in die Anführungszeichen, geht es.

    Kann jemand helfen?

    (AutoInfo zeigt übrigens auch nirgendwo den Fragetext an)

  • (AutoInfo zeigt übrigens auch nirgendwo den Fragetext an)


    Was zeigt er denn alles an (Summary)?

    Bei mir z.B. Win XP Prof.

    Au3Info.exe
  • Hi,

    das wird angezeigt:

    >>>> Window <<<<

    Title: Editor
    Class: #32770
    Position: 492, 276
    Size: 366, 159
    Style: 0x96C80284
    ExStyle: 0x00010101
    Handle: 0x0002034C

    >>>> Control <<<<
    Class: DirectUIHWND
    Instance: 1
    ClassnameNN: DirectUIHWND1
    Name:
    Advanced (Class): [CLASS:DirectUIHWND; INSTANCE:1]
    ID:
    Text:
    Position: 0, 0
    Size: 350, 123
    ControlClick Coords: 138, 2
    Style: 0x56000000
    ExStyle: 0x00000000
    Handle: 0x0002034A

    >>>> Mouse <<<<
    Position: 638, 306
    Cursor ID: 0
    Color: 0x000000

    >>>> StatusBar <<<<

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<
    &Speichern
    &Nicht speichern
    Abbrechen


    >>>> Hidden Text <<<<


    gruß äh "namensvetter" (cd)

    P.S. Bei dem Tut, wie man den Code hier im Forum zunächst versteckt, bin ich noch nicht angelangt....werde das aber natürlich zukünftig beachten, wenn ich weiß, wie es geht

    Einmal editiert, zuletzt von chrisdanny (8. November 2010 um 09:01)

  • Schreib einfach

    Code
    [autoit][/autoit]

    um den Code mit AutoIt-Syntax hervorzuheben.

    Und um das ganze in Spoiler zu setzen schreib:

    Code
    [spoiler][/spoiler]

    Zum Tut:
    Mir ist beim überfliegen aufgefallen, dass ein falscher Titel benutzt wird.
    Versuch einfach mal 'Unbenannt' statt 'Unbenannt - Editor' zu nehmen.

    MfG,
    H2112.

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Probier dieses Skript hier:

    Teste mal die $mode: 1 bis 4
    Nach $mode 3 unbedingt auch $mode 4 testen! Siehe Comment-Skript

    Spoiler anzeigen
    [autoit]

    AutoItSetOption("WinTitleMatchMode", 4)
    $mode = 1

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

    Run("notepad.exe")
    WinWaitActive("Unbenannt - Editor")
    Sleep(1000)
    Send("Das ist ein Beispieltext.")
    Sleep(1000)
    WinClose("Unbenannt - Editor")
    Switch $mode
    case $mode = 1
    WinWaitActive("Editor", "&Ja")
    WinWaitActive("Editor", "&Nein")
    WinWaitActive("Editor", "Abbrechen")
    Case $mode = 2
    WinWaitActive("[CLASS:DirectUIHWND; INSTANCE:1]")
    Case $mode = 3
    WinWaitActive("[ClassnameNN: DirectUIHWND1]") ; Falls es hier klappt unbedingt $mode = 4 probieren!
    Case $mode = 4
    WinWaitActive("[ClassnameNN: foobar]") ; Falls es hier auch klappt, ist $mode = 3 unnütz ,-)
    EndSwitch
    Sleep(1000)
    Send("!n")

    [/autoit]
  • Hi,

    ne, schließt sich leider immer noch nicht automatisch.

    Ich kriegs ja (anders) hin, in dem ich ja

    Code
    WinWaitActive("Editor", "Möchten Sie die Änderungen an Unbenannt speichern?")


    Möchten Sie die Änderungen an Unbenannt speichern? ...einfach weglasse. Also nur "" schreibe....dann schließt es automatisch (ohne die Änderung zu speichern), was in dem Tut ja als Beispiel dann auch passieren soll.

    Ich frage mal anders:

    In dem Editor-Fenster, wo gefragt wird, ob man speichern will....da ist ja dann die Frage "Möchten Sie die Änderungen an Unbenannt speichern?" (zumindest ist das der exakte Wortlaut bei Vista)...dieser Fragetext taucht aber auch nicht im autoInfo auf und das verstehe ich nicht, denke genau das kann doch AutoIT...

    P.S. Danke H2112 für den Tipp!

  • eine .txt datei muss doch einen namen haben die dateiendung reicht nicht mach mal notepad tipp einwenig und versuchmal
    nur als .txt zu speichern :thumbup:


    8|?( :wacko: :pinch:


    Ich kriegs ja (anders) hin, in dem ich ja...
    Möchten Sie die Änderungen an Unbenannt speichern?
    ...einfach weglasse.
    Also nur "" schreibe


    Ja, das ist ja auch i.O.
    Die Funktion WinWaitActive erwartet als 2. Parameter den Text des Fensters oder einen leeren String.
    Gibst du den Text ein, so sucht Autoit (neben dem Titel auch noch) den Text in dem Fenster, damit das Fenster, dass du ansteuern möchtest eindeutig identifiziert wird.
    Gibst du für Text einen leeren String ein, so sucht Autoit nur nach dem Titel des Fensters, davon könnte es aber mehrere geben! In deinem Fall hast du halt Glück, dass das Fenster nur einmal existiert.

    (zumindest ist das der exakte Wortlaut bei Vista)...dieser Fragetext taucht aber auch nicht im autoInfo auf und das verstehe ich nicht, denke genau das kann doch AutoIT...

    Das Problem ist aber nun bei Vista (bei XP klappt alles!), dass das speichern Fenster (was den Text angeht) sich Autoit entzieht.
    Also das Fenster selber findet Autoit noch, aber den Text nicht!
    In Vista wird wohl der Text nicht durch ein klassisches label control angezeigt, sondern durch eine Methode, die Autoit leider (noch?) nicht kennt.

    Man könnte sagen, dass AutoIt für XP optimiert ist.

  • Hi,

    da hatte ich dann ja doch den richtigen Riecher für die Ursache es Problems (Hatte schon größte Selbstzweifel. ?( .

    Vielen Dank CD!

    Und jetzt? Schon 2 Nachtschichten mit Autoit verbracht....und da ich eine Online-Kartenspiel-GUI plane, bedeutet das ja, dass ich da mit Autoit nicht gut beraten wäre....denn ich kann ja die Voraussetzungen zum Spielen nicht davon abhängig machen, ob ein Client XP benutzt oder nicht....

    Fände das echt schade, da ich Autoit echt "geil" finde.... :thumbup: