1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. tobius

Beiträge von tobius

  • Identifikation von Fenstern mit gleichen AU3-Infos anhand mehrerer Parameter? Möglichkeit der Identifikation durch Ausschließen von Parametern?

    • tobius
    • 7. Mai 2013 um 17:38

    Danke, aber die Fenster sind alle identisch, sie haben die gleiche Klasse (und lassen sich zudem nicht über "[CLASS:class_470]" ) ansprechen), die gleiche Größe und keinen Text.
    Demnach muss das Fenster wohl irgendwie über das Handle angesteuert werden..
    Können die booleschen Operatoren bei Parametern nicht verwendet werden oder weiß jemand noch einen anderen Ansatz?

    Danke

  • Identifikation von Fenstern mit gleichen AU3-Infos anhand mehrerer Parameter? Möglichkeit der Identifikation durch Ausschließen von Parametern?

    • tobius
    • 7. Mai 2013 um 14:20

    Hallo liebe Community,

    als begeisterter Newbie von Autoit bin ich derzeit fleißig am programmieren, bin jetzt aber wiederholt auf ein Problem gestoßen und wäre euch dankbar wenn ihr mir weiterhelfen könntet.

    Folgender Sachverhalt:

    Ich öffne mit Autoit ein Fenster, welches lt. AU3-Info-Tool folgende Window-Parameter besitzt:
    Title:
    Class: class_470
    Position: 1088, 292
    Size: 890, 470
    Style: 0x14CF0000
    ExStyle: 0x00000100
    Handle: 0x00020598

    Da das Fenster keinen Titel besitzt, sich über class, style... (erweiterte Fensterfunktionen) nicht ansteuern lässt und die Position des Fenster beim Öffnen dynamisch ist bleibt mir nur die Ansteuerung über "Size".

    [autoit]


    WinActivate("[W: 890; H: 470]")
    WinWaitActive("[W: 890; H: 470]", "", 1)
    $Handle_Fenster1 = WinGetHandle("[W: 890; H: 470]")

    [/autoit]

    Im nächsten Schritt öffne ich ein weiteres dieser Fenster mit den gleichen AU3-Tool-Infos (kein Titel, gleicher classname, gleiche Size) allerdings einem anderen Handle.
    Bisher habe ich dieses Fenster ebenfalls über Size angesteuert, hin und wieder kommt es allerdings vor, dass dadurch fälschlicherweise das erste (zuvor geöffnete) Fenster angesteuert wird.
    Da im nächsten Schritt noch ein weiteres dieser Fenster geöffnet wird, kann es durch die alleinige Ansteuerung über "Size" zu Problemen führen.

    Gibt es programmiertechnisch die Möglichkeit, dass ich Autoit beim zweiten Fenster die Anweisung gebe:
    Suche das Fenster mit der "Size" [W: 890; H: 470] und schließe gleichzeitig das Fenster mit dem Handle von Fenster1 aus (im Sinne von: not $Handle_Fenster1), so dass nur noch das zweite Fenster übrig bleiben kann?
    Also, dass Autoit zuerst alle Fenster mit der "Size" [W: 890; H: 470] sucht und dann im Ausschlussverfahren über das Handle das richtige Fenster ansteuert (nämlich das einzige, welches noch nicht zuvor als Handle definiert wurde)

    Kann man das mit booleschen Operatoren nach folgender Logik definieren (funktioniert so leider nicht):

    [autoit]


    WinActivate("[W: 890; H: 470]" and not $Handle_Fenster1)

    [/autoit]

    bzw. bei mehrere Handles zum ausschließen:

    [autoit]


    WinActivate("[W: 890; H: 470]" and not ($Handle_Fenster1 and $Handle_FensterX))

    [/autoit]

    Oder kennt ihr vielleicht eine andere möglichst sichere Lösung?


    Vielen Dank vorab

    Grüße
    tobius

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™