Zur Laufzeit auf CommandLineArgs reagieren

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Zur Laufzeit auf CommandLineArgs reagieren

    Ich habe hier eine Einzelinstanzanwendung, die zur Laufzeit über Kommandozeilenparameter Befehle erhalten soll.
    Allerdings weiß ich nicht, wie ich zur Laufzeit darauf reagieren kann (außer evtl. mit nem Timer, aber ich würde das Problem ungern so lösen).
    Kann mir jemand nen Denkanstoß geben? (Evtl. nen Link zu nem passenden MSDN-Thema, ich weiß nicht mal, wonach ich suchen soll)
    Das geht meiner Meinung nach nicht mehr über KommandoZeilen-Parameter sobald das Programm gestartet wurde, wurde auch hierdiskutiert.

    Du kannst eine andere Instanz starten, die dann über einen wie-auch-immer-gearteten Mechanismus mit der anderen Instanz kommuniziert, aber das ist auch alles. Vielleicht reichen Dir Environment-Variablen ja auch, aber selbst das geht dann nur über einen (unschönen) Timer.
    Hallo Samus,

    das hier
    eine Einzelinstanzanwendung

    und das hier
    die zur Laufzeit über Kommandozeilenparameter Befehle erhalten soll

    wiedersprechen sich schonmal gründlich.

    Zumal Kommandozeilenparameter nur beim Start des Prog übergeben werden können.

    Befehle oder Daten zur Laufzeit kann man mit
    Sendkeys oder Sendstring übertragen.

    Gruss

    mikeb69
    In den Anwendungsereignissen gibts im StartupNewInstance-Event "e.CommandLine", was mir laut IntelliSense die Kommandozeilenparameter der neuen Instanz übergibt.
    Allerdings bekomme ich beim Arbeiten mit e.CommandLine(0) immer eine TargetInvocationException, oder nur einen Bruchteil des Pfades.
    (Die zu öffnende Datei liegt aufm Desktop, der Pfad, den ich bekomme, lautet "C:\Users\Samus", eig. gehts mit "Aran\Desktop" weiter :/ )
    Ich rufe die neue Instanz auf, indem ich auf eine Datei mit einer von mir vorher registrierten Dateiendung doppelklicke.
    Den Code dafür habe ich von kevin89 -> [VB.NET] Dateiendung registrieren
    Anscheinend wird der Pfad da immer ohne "" übergeben. Wie ändere ich das?

    Edit: Habs hinbekommen, habe eine Zeile im Code so umgeändert:

    VB.NET-Quellcode

    1. Dim sValue5 As String = """" + pfadzuprogramm + """" + """%1"""


    Edit 2: Ich stehe vor einem neuen Problem:
    Blub blub, Problem gelöst.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Samus Aran“ ()