WinExist

  • Hallo,

    ich habe Probleme damit Fenster zu identifizieren.

    Beispielfenster Titel = :

    [autoit]


    Camcorder - CamProjekt.camlig

    [/autoit]

    Wenn ich die komplette Syntax verwende
    dann kann ich das Fenster ansprechen.
    das geht:

    [autoit]


    if WinExists("Camcorder - CamProjekt.camlig","") Then

    [/autoit]

    Ich möchte aber, egal welches Projekt gerade geöffnet ist
    das Fenster ansprechen können ohne jedesmal den Code anzupassen.
    Also so:

    [autoit]


    if WinExists("Camcorder","") Then

    [/autoit]


    das geht leider nicht. Das fenster wird nicht erkannt.
    Habe in der Hilfe über WinTitleMatchMode gelesen
    komme aber nicht ans Ziel. Auch REGEXPTITLE


    Hier wird das Fenster erkannt,
    aber ControlClick funktioniert nicht mit dem Fenstertitel.
    Bei der kpl. Syntax funktioniert Controlclick!

    [autoit]


    Opt("WinTitleMatchMode", 1)
    if WinExists("Cam","") Then
    Msgbox(0,"","")

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

    WinActivate("Cam","")
    ;MsgBox(0,"ok","erkannt")

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

    ControlClick("Cam", "", "Button27", "LEFT")
    EndIf

    [/autoit]


    Könnt Ihr mir da mal in Bezug auf mein Fenster ein Beispiel machen?

    Liebe Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (20. September 2011 um 18:32)

  • WinTitleMatchMode ist Standardmäßig auf 1 von daher ist das manuell setzen unnötig. Wenn es nicht erkannt wird dann ist das "Camcorder" nicht der Anfang der Titels. Ansonsten kann es z.b. so machen:

    Spoiler anzeigen
    [autoit]

    If WinExists("Camcorder", "") Then
    WinActivate("Camcorder", "")
    $title = WinGetTitle("Camcorder", "")
    ControlClick($title, "", "Button27", "LEFT")
    EndIf

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hi,

    Probiere doch einmal das hier aus:

    [autoit]

    Opt("WinTitleMatchMode", 2)

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

    Global $hwndCamcorder = 0
    ;...

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

    ; Wir holen uns das Fensterhandle ...
    $hwndCamcorder = WinGetHandle ("Camcorder -")

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

    If ($hwndCamcorder) Then
    Msgbox(0,";-)","")
    ConsoleWrite (StringFormat ("Fensterhandle: 0x%X\n", $hwndCamcorder))

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

    WinActivate($hwndCamcorder)

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

    ControlClick($hwndCamcorder, "", "Button27", "LEFT")
    EndIf

    [/autoit]


    Gruß
    Greenhorn