Parameter einer zweiten Instanz abfangen

26/02/2010 - 10:30 von Orazio Di Marco | Report spam
Hallo,

ich hab folgende Anforderung:

Ich übergebe x-beliebige Dateien meiner Anwendung welche diese entgegennimmt
und in einer Combobox als Referenz einließt.
Wenn ich nun eine zweite Datei einer neuen Instanz meiner Anwendung
übergebe, möchte ich diesen Übergabeparameter der ersten Instanz geben bzw.
in meine schon geöffnete Combobox einlesen. Die zweite Instanz soll
natürlich nicht geöffnet werden.

Ich hab es zumindest schon mal geschafft das eine zweite Instanz sofort
wieder geschlossen wird. Der Combobox in der ersten Instanz kann ich aber
nichts übergeben.

Wie ist das zu lösen?

gruß
 

Lesen sie die antworten

#1 Karsten Sosna
27/02/2010 - 08:56 | Warnen spam
Ich übergebe x-beliebige Dateien meiner Anwendung welche diese
entgegennimmt und in einer Combobox als Referenz einließt.
Wenn ich nun eine zweite Datei einer neuen Instanz meiner Anwendung
übergebe, möchte ich diesen Übergabeparameter der ersten Instanz geben
bzw. in meine schon geöffnete Combobox einlesen. Die zweite Instanz soll
natürlich nicht geöffnet werden.

Ich hab es zumindest schon mal geschafft das eine zweite Instanz sofort
wieder geschlossen wird. Der Combobox in der ersten Instanz kann ich aber
nichts übergeben.

Wie ist das zu lösen?



Hallo Orazio,
als erstes gehst Du in die Projekteigenschaften und setzt Du das Hàkchen
unter Anwendung > Einzelanwendung erstellen(Application > Make single
instance application). Danach gehst Du über den Button Anwedungsereignisse
anzeigen(View application events). Dort suchst Du Dir das Event
"StartupNextInstance". Dieses Event liefert wie fast alle Eventhandler den
Parameter e As
Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs.
Diesen brauchst Du nur an Deine Mainform weiterleiten:

In Application.vb
\\\
Partial Friend Class MyApplication

Private Sub MyApplication_StartupNextInstance(ByVal sender As
Object, ByVal e As
Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs)
Handles Me.StartupNextInstance

DirectCast(Me.MainForm, Form1).NextDocument(e)

End Sub
End Class
///

In Form1
\\\
Public Sub NextDocument(ByVal e As
Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs)
'e.CommandLine
'Auf diesen Wert kannst Du dann reagieren
End Sub
///
Gruß Scotty

Ähnliche fragen