Fenster bewegen - olk.exe

  • Hi, ich versuche ein Fenster mit diesem Skript zu verändern. Wenn ich es wie hier gepostet mit notepad.exe versuche klappt es problemlos. Wenn ich statt dessen olk.exe (Outlook) verwende, wird nur outlook geöffnet, es bewegt sich aber nix. Womit hängt denn das zusammen? Ich würde gerne einfach nur das Fenster minimieren wollen und wieder maximieren.

  • Hallo stefan10 .

    1. Ich habe kein Outlook, kann dein Skript also nicht wirklich testen.
    2. Hoffentlich hast du nur eine dieser beiden Example()-Funktionen in deinem Skript, welches diese aufruft.
    3. Lautet der Klassenname deines Outlookfensters wirklich "olk"? Hast du das mit dem Tool AutoIt v3 Window Info ausgelesen?
    4. Falls das dann mal klappen sollte, wird das Outlookfenster am Ende nach zwei Sekunden sowieso wieder geschlossen.
    5. Könnte es möglich sein, dass für das Outlookfenster eine Größe von 200×200 Pixel zu klein ist.

    Gruß, fee

  • versuch es mal mit

    AutoIt
    Local $hWnd = WinWait("[CLASS:Olk Host]", "", 10)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ausführbares Script ("as is"), dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Man möge mir verzeihen, wenn ich nicht perfekten und ideal lesbaren Code zur Verfügung stelle.
    Ich möchte Hilfe zur Selbsthilfe leisten und denke dass eine gewisse Transferleistung erwartet werden kann.

  • Hi stefan10 👋 ,

    geht es dir nur darum die Position des Outlook-Fensters zu ändern bzw. das Fenster zu schieben?
    Die wohl einfachste Variante sollte sein, dass du nach dem Titel des Fensters schaust "Outlook" und vorher die Erkennung von Titeln auf Opt('WinTitleMatchMode', 2) setzt. Somit wird jeder Teilstring als Titel akzeptiert.

    Dies hat allerdings auch zu Folge, dass bei einem weiteren Fenster mit "Outlook" im Titelnamen, es nicht mehr funktioniert. Daher geht man i.d.R. über controls/classes etc. Trotzdem hier mal ein simples Beispiel:

    In dem Script wird Outlook nicht aufgerufen sondern direkt angenommen es ist bereits geöffnet / es existiert. ==> Einfach nur ein Einfachheit halber.

    Viele Grüße
    Sven

  • Svens Script klappt wunderbar.

    Freut mich 🤝 .
    Bitte jedoch auf diese Aussage von mir achten:

    Dies hat allerdings auch zu Folge, dass bei einem weiteren Fenster mit "Outlook" im Titelnamen, es nicht mehr funktioniert. Daher geht man i.d.R. über controls/classes etc.

    Falls das Thema für dich durch ist, dann markiere bitte deinen ersten Post als "Gelöst". Danke.

    Viele Grüße
    Sven

  • Ich kenne deine Outlook version nicht aber lese doch mit dem Tool "C:\Program Files (x86)\AutoIt3\Au3Info_x64.exe" deinen Classnamen für Outlook aus.

    Bei mir ist es z.B. "rctrl_renwnd32".