Mahlzeit,
also ich habe eine Applikation die auf eine Instanz beschränkt ist.
Der Applikation können Argumente bei Start mitgegeben werden:
myapp.exe /bla
Jetzt möchte ich die Parameter bei erneutem Aufruf der Applikation an die erste Instanz weitergeben.
Also quasie wie folgt:
static void Main()
{
bool createdNew = true;
using (Mutex mutex = new Mutex(true, "MyApp", out createdNew))
{
if (createdNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new DownsterMainForm());
}
else
{
//Übergebe CommandLineArgs an erste Instanz der Applikation
}
}
}
Mit welcher Technik kann ich das am besten realisieren?
Gruß,
moson
Hab grad was über named pipes gefunden. Ist das die beste Art oder sollte man auf remoting oder wcf setzen?
Hallo moson,
seit quasi Anfang an dabei und weißt trotz [Hinweis] Wie poste ich richtig? Punkt 1.1 immer noch nicht, was in der FAQ steht?
[FAQ] mehrere Programminstanzen verhindern (inkl. Parameterübergabe)
herbivore
Mir scheint dabei die Verwendung der Funktionen im VB-Namespace am einfachsten.
Wobei mir da einige der existierenden Beispiele etwas seltsam erscheinen, da sie im StartupNextInstance-Ereignis noch die Daten manuell an den vorhandenen Prozess weitergeben, obwohl dieses Ereignis (zumindest bei meinen Tests hier) bereits in der ersten Instanz aufgerufen wird. 🤔
Sorry, eigentlich schaue ich öfter mal in die Artikel rein aber irgendwie muss ich das übersehen haben. Nächstes mal suche ich ein bisschen akribischer...
btw.: Ich habe die Geschichte jetzt mit Named Pipes erschlagen, funktioniert auch ganz gut...