LabVIEWForum.de
Programm mit "öffnen mit" starten und Datei übergeben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Programm mit "öffnen mit" starten und Datei übergeben (/Thread-Programm-mit-oeffnen-mit-starten-und-Datei-uebergeben)



Programm mit "öffnen mit" starten und Datei übergeben - haiopei - 10.03.2011 07:58

Hallo zusammen,

ich möchte ein Programm schreiben, dem eine Datendatei übergeben wird. Dieser Dateipfad ist der einzige Eingabeparameter.

Das Programm soll als exe-Datei erstellt werden. Den Dateipfad möchte ich direkt aus dem Windows-Explorer übergeben durch die Funktion "öffnen mit".

Ist das möglich? Wenn ja, wie kann man das machen?


Vielen Dank schon mal für die Hilfe.

Thomas


RE: Programm mit "öffnen mit" starten und Datei übergeben - IchSelbst - 10.03.2011 10:42

(10.03.2011 07:58 )haiopei schrieb:  Den Dateipfad möchte ich direkt aus dem Windows-Explorer übergeben durch die Funktion "öffnen mit".
Im LV-Programm einfach die Kommandozeilenparameter auslesen. Siehe Anhang. Beachte, dass beim Erstellen der Exe im Applicationbuilder eingestellt sein muss, dass die Kommandozeilenparameter an das Programm weitergegeben werden sollen.

Bei "Öffnen mit" musst du halt das Programm suchen und auswählen. Oder du fügst das Programm bei "SendTo" ein.


RE: Programm mit "öffnen mit" starten und Datei übergeben - haiopei - 10.03.2011 11:28

Hallo ichselbst,

vielen Dank für die schnelle Antwort. Das hat funktioniert.

Thomas


RE: Programm mit "öffnen mit" starten und Datei übergeben - TBK - 08.12.2015 14:36

Das funktioniert beim ersten Programmstart. Hat jemand eine Lösung, wie das auch beim bereits gestarteten Programm funktioniert? Das Argument scheint dann leider nicht mehr aktualisiert zu werden.


RE: Programm mit "öffnen mit" starten und Datei übergeben - GerdW - 08.12.2015 14:44

Hallo TBK,

Zitat:wie das auch beim bereits gestarteten Programm funktioniert? Das Argument scheint dann leider nicht mehr aktualisiert zu werden.
Der Fehler liegt woanders:
Eine LabVIEW-Exe kann (per Default) nur einmal im Speicher aktiv sein. Wenn dein Programm schon läuft und du es mit neuem Parameter im Explorer aufrufen willst, passiert folgendes: eine neue Instanz der Exe wird aufgerufen und sie soll den Parameter erhalten. Dummerweise stellt sie fest, dass schon eine Instanz im Speicher ist und beendet sich gleich wieder…

Lösungen:
- Default-Verhalten per INI-File-Eintrag abschalten: dann hast du allerdings mehrere Instanzen deines Programms offen, wenn du es mehrfach im Explorer aufrufst
- andere Lösung programmieren: eine kleine "Starter"-Exe programmieren, die den Parameter vom Explorer entgegennimmt, dein Programm wenn nötig startet und diesem dann (z.B. per Netzwerkverbindung) den Parameter zuschickt. Im Explorer muss dann die Starter.exe als "Öffnen mit" gewählt werden!


RE: Programm mit "öffnen mit" starten und Datei übergeben - TBK - 09.12.2015 07:45

Danke für die Info. Leider ist das keine Option für mich - der Benutzer muss das Programm dann eben selbstständig erst wieder schließen.