Programm in der Taskbar starten

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Peter329.

    Programm in der Taskbar starten

    Hi,

    ich habe ein Programm, nennen wir es A.exe

    Dieses Programm habe ich an die TASKBAR angepinnt. Dieses Icon in der Taskbar nenne ich ICON1.

    START METHODE 1: Durch einen Klick auf ICON1 kann ich A.exe starten. ICON1 wird dann "highlighted" ... und durch Click auf ICON1 kann ich die Anwendung A.exe minimieren, bzw. wieder aufblättern.

    START METHODE 2: Nun möchte ich A.exe aber auch von einem Programm aus starten. Dazu verwende ich die Anweisung:

    VB.NET-Quellcode

    1. Process.Start(C:\myprogs\A.exe


    Auch damit kann man A.exe starten. In diesem Fall wird ein neues Icon in der Taskbar dynamisch erzeugt, das ich ICON2 nenne. Durch Klick auf ICON2 kann ich die Anwendung A.exe minimieren, bzw. wieder aufblättern.

    Beide Start Methoden werden in beliebigem Wechsel verwendet. Sollte die Anwendung A.exe bereits aktiv sein, wird eine Fehlermeldung ausgegeben und kein Start durchgeführt. Von A.exe kann also immer nur eine Instanz aktiv sein.

    Soweit so gut.

    Ich habe nun folgendes Problem: Wenn ich mit der START METHODE 2 starte (also mit Process.Start), dann habe ich ZWEI Icons in der Taskbar, nämlich ICON1 und ICON2. ICON1 ist inaktiv und ICON2 ist aktiv.

    Das möchte ich aber nicht. Ich möchte - egal mit welcher Methode ich starte - immer nur EIN Icon in der Taskbar haben. Mal lax ausgedrückt: wenn ich mit START METHODE 2 starte, dann möchte ich das ICON1 aus der Taskbar starten.

    Geht das? Und wenn ja wie?

    Ich hoffe, ich habe mein Anliegen verständlich machen können.

    LG
    Peter
    @Peter329 Eine Anregung, keine fertige Lösung:
    Wenn Du ein Programm aus der Taskbar heraus starten willst, benötigst Du zunächst Zugriff auf die Taskbar.
    Der nächste Schritt wäre, ein Programm der Taskbar hinzuzufügen, da sollte eigentlich die erforderliche Information bei abfallen.
    Dann kombinierst Du beide Schritte, indem Du Dir Zugriff auf die Taskbaricons holst und Dein Zielprogramm startest.
    ------
    Kann sein, dass Dir das Stichwort JumpList hier im Forum einen Anhaltspunkt gibt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    jau ... das ist der richtige Denkanstoß ... In Windows 7 kodiert man folgendes:

    VB.NET-Quellcode

    1. Public Alnk As String = "C:\Users\....\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar\A.lnk"
    2. Process.Start(Alnk ...)


    Damit wird das Programm über den Link aus der Taskbar geöffnet ... und schon flutscht die Sache !

    Thanks a lot.

    LG
    Peter