Letztes aktives Fenster wieder aktivieren

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Don_Batisto.

    Letztes aktives Fenster wieder aktivieren

    Ich habe ein Programm welches im Hintergrund läuft.
    Dazu deaktiviere ich die Form mit:

    VB.NET-Quellcode

    1. Me.WindowState = FormWindowState.Minimized
    2. Me.ShowInTaskbar = False
    3. Me.Visible = False


    Das Programm hat ein NotifyIcon mit einem ContextMenü.

    Wenn ich nun in einem anderen Programm etwas Text markiere und dann eines der Elemente aus dem NotifyIcon-Menü auswähle, verliehrt dass Programm wo der Text markiert ist, den Focus und das Markierte lässt sich nicht mehr mit

    VB.NET-Quellcode

    1. SendKeys.SendWait("^(c)")
    in die Zwischenablage bringen.


    Daher nun die Frage an die Community:
    Wie kann ich das zuletzt aktive Programm erkennen und wieder in den Fokus holen, damit das Kopieren in die Zwischenablage funktioniert?
    35 Views und kein einziger Post?

    Das Problem besteht immer noch!

    Mit

    VB.NET-Quellcode

    1. SendKeys.SendWait("%{TAB}") 'sende ALT + TAB
    2. SendKeys.SendWait("^(c)")
    funktioniert es leider nur ein einziges mal und danach muss das Programm neugestartet werden ...
    Und immer noch kein Post... Wie kann das denn sein? Bin ich in der falschen Rubrik oder was???


    Dass das Programm via SendKeys.SendWait("%{TAB}") auf das letzte aktive Fenster wechselt, war eine Vermutung von mir.
    Es hat sich nun aber herausgestellt, dass das ganze nur klappt, wenn das Programm aus VS gestartet wurde und das nächste Fenster das Fenster ist in dem ausgelesen werden soll.

    Sobald es für das eine mal klappt und man dann mal andere Fenster aufruft, kommt er mit dem obrigen Aufruf nicht mehr zu der letzten Seite sondern irgendwo im Nirgendwo ...
    Und da kann er dann ja natürlich nichts mehr in die Zwischenablage kopieren ...