Laden...

Bei SingleInstance-Applikation CommandLine-Argumente der Instanzen weitergeben

Erstellt von tequila slammer vor 12 Jahren Letzter Beitrag vor 12 Jahren 900 Views
Thema geschlossen
T
tequila slammer Themenstarter:in
253 Beiträge seit 2006
vor 12 Jahren
Bei SingleInstance-Applikation CommandLine-Argumente der Instanzen weitergeben

Hallo Forum,

ich habe eine Applikation, die pro Anwender nur einmal gestartet werden darf. Sprich pro User eine aktive Instanz. Nun kommt die Anforderung hinzu, dass beim Öffnen weiterer mit dieser Applikation verknüpfter Dokumente diese auch in der Applikation geöffnet werden sollen. Ihr kennt das Verhalten von Excel.

Um zu prüfen, ob die Applikation bereits gestartet ist verwende ich den auf CodeProject und hier schon im Forum verlinkten Beitrag (C# Single Instance App With the Ability To Restore From System Tray (Using Mutex).

Dazu muss man in der Main() Methode


if (!SingleInstance.Start())
{
   SingleInstance.ShowFirstInstance();
   return;
}

einfügen.

Meine Idee war es die ProgramInfo Klasse zu erweitern. Allerdings sind die Argumente immer die gleichen und somit ist die Idee wertlos.

Ich denke das ich viel mehr über die überschriebene WndProc Methode und deren Message-Parameter gehen muss.


        protected override void WndProc(ref Message m)
        {
            if (m.Msg == SingleInstance.WM_SHOWFIRSTINSTANCE)
            {
                WinApi.ShowToFront(this.Handle);
            }
            base.WndProc(ref m);
        }

Nur konnte ich nichts finden, was eine Hinweis darauf gibt, in welcher Property die Parameter gespeichert werden.

Hat einer von euch einen Rat?

C
1.214 Beiträge seit 2006
vor 12 Jahren

Das Thema gabs hier schon paar mal, schau hier:

[FAQ] mehrere Programminstanzen verhindern (inkl. Parameterübergabe)

Thema geschlossen