Re: Environment.CommandLine

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hallo Alfred,

also, ich finde das nicht unbedingt ein gefrickel. Da kenne ich schlimmere
Bauerntricks ;-)

1) Autorun:
wenn die Exe vom Stick gestartet wird, prüft sie ob bereits eine Instanz
der
Anwendung läuft und falls nein legt sie grundsätzlich eine Verknüpfung auf
sich selbst im SendTo Verzeichnis an. Es sollte nur eine Verknpüfung sein,
damit sie jederzeit löschbar ist

Bis dahin läuft es ja schon alles...

2) SendTo:
beim Klick auf den Link in SendTo wird eine 2te Instanz der Exe auf dem
Stick aufgerufen. Diese prüft wiederum, ob sie die 2te Instanz ist, und
wenn
ja übergibt sie den Parameter (Dateiname aus SendTo) der laufenden 1sten
Instanz und schließt sich selbst. Das geht schnell so dass man in den
Prozessen des Taskmanagers wenig bemerken sollte.

....genau, das geht auch...

Das Startformular sollte
erst geladen werden, wenn fest steht, dass die Anwendung als 1ster Instanz
gestartet wird (also 'Sub Main' benutzen und dann eventuell das
Startformular mit oder ohne Splashscreen instanzieren)

....ok, das schaue ich mir an...

3) Übergabe des Dateinamens an die 1ste Instanz:
hierfür gibt es eine Reihe von Möglichkeiten, jedoch ist mir keine direkte
bekannt. Am einfachsten (bis du eine bessere Lösung ergoogelt hast) ist
als
Notlösung hier das Überwachen einer Datei im Tempverzeichnis: die 2te Exe
schreibt den Parameter in diese Datei hinein; die 1ste prüft periodisch
über
einen Timer ob jene Datei einen Inhalt hat und wenn ja, wird jener gelesen
und die Datei gelöscht

so, jetzt kann ich den Ball mal zurückwerfen, denn das verstehe ich jetzt
nicht.
Was für eine Datei meinst Du? Was für einen Dateinamen meist Du?
Ich habe es jetzt so weit fertig, dass in eine XML-Datei folgendes
geschrieben wird:

<?xml version="1.0" encoding="utf-16"?>
<DateitypZuordnungen>
<DateitypZuordnung Extension=".txt" Executable="..\Portabels\Notepad
Plus\Notepad.exe" />
<DateitypZuordnung Extension=".jpg"
Executable="..\Portabels\XNview\XNview.exe" />
</DateitypZuordnungen>

danach z.B.
Beim klick auf "SendTo" von der Datei "C:\test.jpg" wird einfach die XML
Datei durchsucht ob die Extension des Strings welcher von SendTo mitkommt
mit einem in der XML Datei übereinstimmt und wenn ja, z.B. Extension=".jpg",
dann starte das Programm "..\Portabels\XNview\XNview.exe c:\Test.jpg" in
diesem Fall wird "c:\Test.jpg" einfach dem zu startenden Programm als
Parameter mit übergeben und den Pfad und Name der JPG bekomme ich ja auch
mit Environment.Commandline beim klick auf "SendTo" mit und fertig.

sollte Extension=".jpg" noch nicht in der XML Datei stehen, schreibe dies
hinzu, gib mir einen OpenFileDialog und lass mich die EXE des Programms
auswählen mit welchem ich .jpg starten will (z.B. XNview.exe) und schreibe
dann Extension=".jpg" Executable="..\Portabels\XNview\XNview.exe" in die XML
Datei.

Sollte doch so gehen.

Beste Grüße Hans

.



Relevant Pages

  • Re: Environment.CommandLine
    ... Hier reicht eine einzige Exe völlig aus. ... ob bereits eine Instanz deiner Exe läuft: ... SendTo: ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: FileSaveAs-Dialog überschreibt bestehende Datei nicht?
    ... wie er im Winword reagiert, d.h. wenn ich eine Datei auswähle, die bereits ... Wenn keine Instanz läuft, ... dass dies mit dem Code aus dem anderen Thread besser ...
    (microsoft.public.de.word.vba)
  • Re: 2.Instanz einer SDI-Anwendung mit Parameter starten
    ... Wenn mir jetzt also in einer bereits gestarteten ... um die Datei zu öffnen. ... sondern lediglich eine zweite Instanz Deines Hauptformulars, ... Microsoft MVP Visual Basic ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Abfrage mit leeren und vollen Zeilen
    ... Wie in dem Formular in der Datei zu sehen, ... Einmal den Mitarbeiter, die Instanz, das Datum und OPL. ... Next by Date: ...
    (microsoft.public.de.access)
  • Re: Werteübergabe an eine andere EXE
    ... Bei wird im Inizialize immer der neue Command-String übergeben. ... App.prev wird die neue Instanz beendet, ... MsgBox Command$. ... Rufe das erste mal die Exe auf. ...
    (microsoft.public.de.vb)