winwait "fenster1" ( OR ) "fenster2"

  • Hallo Leute. Ich sitze wieder daran und teste im moment wie autoit mit Citrix zurecht kommt.

    Wir haben in der Umgebung leider verschiedene Server.
    von einem Server wird die Anwendung mit dem Titel: "Benutzer auf *" ausgeführt, von anderem Server wird die Anwendung mit dem Titel "Z:\" gestartet.
    Da ich von Citrix keine Class ID oder was eindeutiges kriege, wollte ich fragen ob es eine Möglichkeit gibt eine "OR" abfrage auszuführen
    quasi so:

    winwait("benutzer auf ") or winwait("z:\")

    Fensterinfo:

    >>>> Window <<<<
    Title: Z:\ - \\Remote
    Class: Transparent Windows Client
    Position: 259, 175
    Size: 800, 600
    Style: 0x960F0000
    ExStyle: 0x00000104
    Handle: 0x00090384

    >>>> Control <<<<
    Class:
    Instance:
    ClassnameNN:
    Name:
    Advanced (Class):
    ID:
    Text:
    Position:
    Size:
    ControlClick Coords:
    Style:
    ExStyle:
    Handle:

    >>>> Mouse <<<<
    Position: 831, 187
    Cursor ID: 0
    Color: 0xB5B5B5

    >>>> StatusBar <<<<

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<


    >>>> Hidden Text <<<<

    Ich denke, das ich hier richtig bin, und freue mich über jede Antwort,

    Gruß zm0

    Einmal editiert, zuletzt von zm0 (19. Juli 2010 um 11:03)

  • Super!!
    Vielen dank für die schnellen Antworten.
    Ich werde die Optionen durchgehen und das richtige für mich wählen.

  • Danke nochmal. dies ist ein sehr dirty script, aber ich bin auch noch sehr grün hinter den Ohren.
    Hier mal der Quelltext zu dem was ich getrieben habe

    run("cmd.exe /c echo %date% %time% Start von Citrix-Explorer >> Z:\citrixanwendung.log")
    run("Anmelde-DC Lokal: %logonserver%, computer ist %Computername% >> Z:\citrixanwendung.log")
    run("C:\Program Files (x86)\Citrix\ICA Client\pnagent.exe /CitrixShortcut: (1) /QLaunch Explorer" )
    Do
    sleep(10)

    Until WinActive("benutzername auf") or WinActive("z:\")
    send("{TAB}logonserver{enter}")
    WinWait("M:\WINDOWS\system32\cmd.exe")
    Do
    sleep(10)
    Until WinClose("benutzername auf") or WinClose("z:\")


    ---------------------------------

    logonserver.bat:
    @echo off
    @echo Anmelde-DC Citrix: %logonserver% >>Z:\citrixanwendung.log
    @echo Citrixserver: %computername% >> Z:\citrixanwendung.log
    @echo %date% %time% Anwendungsstart erfolgreich. >> Z:\citrixanwendung.log
    @echo --------------------------------------------------------------------- >>Z:\citrixanwendung.log
    exit

    Das script ist dazu da um die Startzeiten von unserem Citrix Explorer zu testen, und zu loggen wie lange so ein start braucht.

    Gruss zm0

    Einmal editiert, zuletzt von zm0 (19. Juli 2010 um 13:22)

  • Hallo,

    sorry das ich den Thread nochmal hervorkrame.

    Wenn man mit der Schleife und einem OR in der Bedingung zwei verschiedene Fälle abdeckt, gibt es auch eine Möglichkeit danach zwischen den beiden Fällen zu unterscheiden?

    Bsp.:


    LG,
    Michael

  • Dazu könntest du sowas basteln:

    Spoiler anzeigen
    [autoit]

    While 1
    Switch WinGetTitle("[Active]")
    Case "benutzername auf"
    ; Mach irgendwas
    ExitLoop
    Case "z:\"
    ; Mach irgendwas anderes
    ExitLoop
    EndSwitch
    Switch

    [/autoit]

    Beim nächsten mal ruhig nen neuen Thread aufmachen. Wenn jemand mal soetwas sucht findet er es leichter ;)

  • die batch würde ich aber auch in das Au3 Script basteln

    Achtung Anfänger! :whistling:

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