Wie ermittle ich aktuelle Vordergrundanwendung (die also im Focus ist)

  • Guten Morgen,

    ich möchte gerne folgendes Problem lösen.

    Auch ich gehöre zu den leidigen Benutzern, die sich täglich mit Lotus Notes rumärgern müssen (hier wäre jetzt eigentlich schon wieder der Moment auf Dreckstool zu wechseln :) )

    Mein Hauptproblem besteht darin, das Lotus Notes nicht sauber selbstständig in allen Datenbanken (Kacheln) aktualisiert. Ich möchte jetzt gerne ein kleines Script schreiben, welches im Hintergrund läuft.

    Optimal wäre die Lösung, wenn man (wir gehen davon aus, das Lotus Notes NICHT in Focus steht) Lotus Notes ohne Focus mit F9 aktualisieren könnte, d.h. ich bleibe ich meiner eigentlichen Anwendung, und in regelmäßigen Abständen würde in Lotus Notes die F9 Taste simuliert werden, ohne das ich den Focus meiner eigentlichen Anwendung verliere. Kann sowas gehen ??

    Falls das nicht geht, sollte ich aber die momentan aktuelle Anwendung ermitteln (wie kann ich das bewerkstelligen ?). Dann könnte ich den Wert in eine Variable schreiben, zu Lotus Notes wechseln, F9 drücken und wieder in die letzte aktuelle Anwendung automatisch zurück wechseln.

    Danke vorab für die Tips

    Gruss Hassan

    P.S. ich brauche nur Stichworte für die Hilfe

  • Vielleicht gehts mit _SendMessage(), einen Tastendruck an ein nicht-aktives Fenster zu senden. ?(

    Wer andern eine Bratwurst brät
    der hat ein Bratwurstbratgerät.

  • Zitat von »ohforf«Vielleicht gehts mit _SendMessage(), einen Tastendruck an ein nicht-aktives Fenster zu senden. ?(Soll das eine Funktion sein ?? In der Hilfe finde ich das so nicht


    Dann lade dir mal die aktuelle Hilfe herunter und du wirst sie finden:

    Zitat

    _SendMessage

    Wrapper für den sonst üblichen DLL-Aufruf

    ich würde es aber zuerst mit

    [autoit]

    ControlSend

    [/autoit]

    probieren.

    das derzeit aktive Fenster erhälst du mit

    [autoit]

    WinList("[ACTIVE]")

    [/autoit]

    daraus kannst du das Programm ermitteln, hierzu gibt es schon Themen einfach die Suche bemühen die Lösung wurde afair von Progandy gepostet,

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (27. Juni 2012 um 12:39)

  • sicherlich versteh ich es nicht aber meinst du folgendes:

    [autoit]

    ControlSend("Anfangstext vom Titel-String", "", 0, "{F9}")

    [/autoit]

    Um das aktuelle Fenster zu deaktivieren und wiederherzustellen kann man z.B. folgendes machen:

    [autoit]

    $h_WinHandle = WinGetHandle('')
    WinSetState($h_WinHandle, "", @SW_MINIMIZE )
    Sleep(3000)
    WinSetState($h_WinHandle, "", @SW_RESTORE )

    [/autoit]