Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CommandLine-Parameter an gestartete Anwendung übergeben

47 views
Skip to first unread message

Reiner Wolff

unread,
Dec 2, 2011, 12:47:35 PM12/2/11
to
Moin moin,

ich habe mir für meine Anwendung mal folgendes Problem überlegt:
Ich starte bei eingehendem Anruf meine Anwendung wie folgt:
<Pfad>\KundenInfo.exe /Find:<Telefonnummer>

Nun ist es zumindest bei meinen VB.Net-Anwendungen so, dass sie gerne mal
1-2 Sekunden brauchen, um die Datenbankanbindung herzustellen und mit
gestartetem Fenster dem Benutzer zur Verfügung zu stehen.

Wenn ich die Anwendung nun einfach gestartet lasse, um die Startzeit zu
sparen, habe ich dann noch irgendwie die Möglichkeit über den
Programmaufruf und die Übergabe der Startparameter auf die bereits laufende
Instanz zuzugreifen?
Ziel wäre es also der laufenden Programminstanz nachträglich die
Startparameter zu übergeben und abarbeiten zu lassen.


Der einzige Weg, der mir bislang einfällt, wäre, die Anwendung auf einem
Port lauschen zu lassen und eine Starter.exe zu schreiben, die die
Parameter entweder der laufenden Instanz übergibt oder halt eine neue
Instanz startet.

Da ich die Variante nicht in 15 Minuten einfach mal schnell programmiert
habe, wollte ich kurz Fragen, ob hier jemand eine einfachere Lösung weiß.


Vielen Dank für Eure Rückmeldungen
Gruß aus Kiel
Reiner

Ahmed Martens

unread,
Dec 5, 2011, 1:57:16 AM12/5/11
to
Hallo Reiner,

Am Fri, 2 Dec 2011 18:47:35 +0100 schrieb Reiner Wolff:

> Moin moin,
>
> ich habe mir für meine Anwendung mal folgendes Problem überlegt:
> Ich starte bei eingehendem Anruf meine Anwendung wie folgt:
> <Pfad>\KundenInfo.exe /Find:<Telefonnummer>
>

in den ApplicationEvents gibt es ein Ereignis:
MyApplication_StartupNextInstance

In diesem Event kannst Du deine Aufraufparameter leicht verarbeiten.

In den allgemeinen Einstellungen 'MyProject' musst Du zusätzlich noch im
Tab: 'Anwendung' folgende Einstellung vornehmen:

Eigenschaften des Windows-Anwenderframeworks:
...
x Einzelinstanzanwendung erstellen
...

Ich hoffe ich konnte Dir helfen.

Gruß Ahmed
--
Antworten bitte nur in der Newsgroup.

Reiner Wolff

unread,
Dec 5, 2011, 1:30:01 PM12/5/11
to
Moin Ahmed,

*Ahmed Martens* schrieb:
> Am Fri, 2 Dec 2011 18:47:35 +0100 schrieb Reiner Wolff:
>> ich habe mir für meine Anwendung mal folgendes Problem überlegt:
>> Ich starte bei eingehendem Anruf meine Anwendung wie folgt:
>> <Pfad>\KundenInfo.exe /Find:<Telefonnummer>
> in den ApplicationEvents gibt es ein Ereignis:
> MyApplication_StartupNextInstance
> In diesem Event kannst Du deine Aufraufparameter leicht verarbeiten.
> In den allgemeinen Einstellungen 'MyProject' musst Du zusätzlich noch im
> Tab: 'Anwendung' folgende Einstellung vornehmen:
> Eigenschaften des Windows-Anwenderframeworks:
> ...
> x Einzelinstanzanwendung erstellen

Danke für den Hinweis.
Es war etwas hakelig das Ereignis selbst unter den ApplicationEvents
einzubinden. Da steht jetzt bei mir etwas wie:
Namespace My
Partial Friend Class MyApplication
Private Sub MyApplication_StartupNextInstance(...)

End ..
End ..
'aus dem Gedächtnis abgeschrieben

Nun frage ich mich,
- wird das Ereignis überhaupt gefeuert, wenn ich das so deklariere?
kann ich selber austesten, hatte ich heute allerdings keine Zeit zu
- wie ich elegant die Startparameter auswerte.
Jetzt habe ich ja einmal die Auswertung durchzuführen im
Form_Load-Ereignis
und einmal in dem neuen Event.
Arbeite ich dabei dann mit einer
Public Shared frmMyForm as Form1
Variablen? Oder wie löppt das dann?

Ich hatte aber heute nur 10 Minuten dafür Zeit, muss also auch selber noch
recherchieren ;-)

Gruß aus Kiel
Reiner
--
0 new messages