INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Aufruf EXE auf Explorer



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.11.2009, 09:51
Beitrag #1

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
Aufruf EXE auf Explorer
Hallo Zusammen,

mein Programm (mess.exe) speichert seine Mess/ Berechnungsergebnisse in mehrere *.lvm Datein ab (messung1.lvm, messung2.lvm ...).

Ziel ist es, durch einen Doppelklick im Windows Explorer auf eine solche *.lvm Datei das LabVIEW Programm mess.exe zu starten und die Messkurve in einem Graphen darzustellen.
Mit Hilfe des Parameters "Kommandozeilen" bekomme ich auch beim ersten Aufruf in meinem Programm die angeklickte Datei übergeben und kann sie dann öffnen und darstellen.

Wenn man allerdings bei bereits laufendem Programm "mess.exe" ein weiteres Mal eine *.lvm Datei im Explorer mit Doppelklick anwählt, wechselt Windows zwar zu meinem Programm "mess.exe", ich bekomme aber nirgends die Infos, welche *.lvm Datei man beim zweiten Mal angeklickt hat.

Kann mir da jemand weiterhelfen ?

Gruß jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.11.2009, 10:16
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aufruf EXE auf Explorer
' schrieb:Wenn man allerdings bei bereits laufendem Programm "mess.exe" ein weiteres Mal eine *.lvm Datei im Explorer mit Doppelklick anwählt, wechselt Windows zwar zu meinem Programm "mess.exe", ich bekomme aber nirgends die Infos, welche *.lvm Datei man beim zweiten Mal angeklickt hat.

Nur so zum Testen mal den Dateinamen der .lvm in einem Stringcontrol darstellen...

Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2009, 10:41
Beitrag #3

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
Aufruf EXE auf Explorer
Hallo Seba,

da kann ich Dir nicht ganz folgen.

Ich lese die Kommandozeilenargumente permanet aus und schreibe sie in ein String Control.
Dort steht aber immer nur der Pfad der Datei des ersten Aufrufs drin.


jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2009, 13:50
Beitrag #4

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Aufruf EXE auf Explorer
Wie du bemerkt hast ändert sich das Kommandozeilenargument nicht, obwohl du eigentlich ein Neues übergeben hast.

In der Hilfe fand ich folgenden Hinweis:

"Mit der Eigenschaft Applikation:Kommandozeilenargumente können die benutzerdefinierten Kommandozeilenargumente eingesehen werden, die beim Starten von LabVIEW übergeben werden."

Das scheint der Haken an der Sache zu sein...


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.11.2009, 15:52
Beitrag #5

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Aufruf EXE auf Explorer
Wenn deine Applikation nicht irgendwelche Ressourcen exklusiv verwendet und nicht zwei Files miteinander verglichen werden etc. könntest du einfach ein zweite, dritte, nte Instanz öffnen. Ansonten halt per Drag&Drop.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2009, 12:55
Beitrag #6

tt-web Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 123
Registriert seit: Jul 2009

8.6
2008
de

64354
Deutschland
Aufruf EXE auf Explorer
Hi,
weiß nicht ob das weiterhilft, aber ich habe z.B. eine Auswahl von verschiedenen PDF-Dateien, die ich durch Zusammensetzen des Pfades als Argument mit in die Komandozeile übergebe:

LV8.6
Sonstige .vi  exeaufruf.vi (Größe: 6,87 KB / Downloads: 251)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.11.2009, 21:11 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2009 08:00 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Aufruf EXE auf Explorer
Dazu müsste man in der LabVIEW Applikation ein DDE Interface implementieren und dieses für die EXE auch in der Registry registrieren, so wie Du es schon für die command line gemacht hast. Explorer versucht dann nämlich erst den DDE Server anzusprechen und wenn das nicht geht wird die command line aufgerufen und das File gemäss der Vorgabe in der Registry als Command Line Parameter mitgegeben. Nur wenn Deine Applikation schon läuft kann sie die Command Line nicht mehr sehen, deshalb die DDE Server Implementation.

Nun ist da aber ein grosses Problem.

1) Die DDE VIs sind zwar noch vorhanden aber aus der Palette entfernt. Man kann sie aber noch verwenden auch wenn die entsprechende DDE Library schon seit etwa LabVIEW 4 nicht mehr angefasst wurde.

2) Viel gravierender ist aber, dass der Explorer die DDE Kommandos mittels DDE Execute messages an die Applikation übermitteln will und genau das Empfangen von DDE Execute Messages ist in der LabVIEW DDE Library explicit ausgeschaltet. Warum weiss ich zwar nicht aber ich nehme mal an dass da eine unerwünschte Interaktion zwischen dem LabVIEW System und solchen DDE Execute Messages war und die einfachste Weise um das zu fixen halt bei der Initilialisierung von DDE explicit durch Windows filtern zu lassen. Eventuel hat es auch noch sicherheitstechnische Bedenklichkeiten.

Daher ist das eine totlaufende Sackgasse.

Die richtige Lösung, die von LAVA (lavag.org) kommt ist dann, um ein kleines Executable zu bauen das in der Registry für den Filetyp registriert wird. Dieses Executable wird immer über die Kommandline gestartet mit dem Filenamen als Parameter. Und dieses Executable macht nichts anderes als diesen Parameter zu lesen und ihn per VI Server oder Custom TCP/IP Protokoll an die eigentliche Applikation zu schicken und sich danach sofort zu beenden.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 06:15
Beitrag #8

tt-web Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 123
Registriert seit: Jul 2009

8.6
2008
de

64354
Deutschland
Aufruf EXE auf Explorer
Hallo,
ja das stimmt. Es müsste etwas komplizierter sein, aber ich sehe eigentlich keine andere Lösung. Bei dem Sicherheitsaspekt gebe ich Dir vollkommen recht, dies wird sogar einer der Hauptgründe sein. Sofern das nicht sauber programmiert ist, wärem diese Messages ein Einfallstor für so nette Geschichten wie Pufferüberläufe und Co. Bei einer Applikation, die vermutlich in der Industrie eingesetzt wird ein zu hohes Risiko.
Gruß Thomas
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2009, 13:25
Beitrag #9

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
Aufruf EXE auf Explorer
Vielen Dank für die Antworten,

werde mich dann mal mit den Themen "VI Server" und "Custom TCP/IP Protokoll" auseinandersetzen.
Hatte damit bisher noch nichts zu tun.


Gruß jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VI Properties Short-Cut im Project Explorer Lien_Alere 4 6.087 04.12.2019 11:50
Letzter Beitrag: Lien_Alere
  Projekt-Explorer, Datei gelöscht, umbenannt... hansi9990 5 4.762 12.07.2016 20:25
Letzter Beitrag: hansi9990
  Measurement Explorer separat installieren th13 4 5.382 15.08.2014 15:03
Letzter Beitrag: th13
  Doppelklick auf VI aus Projekt-Explorer öffnet 2 VIs? dali4u 0 3.275 26.06.2014 07:03
Letzter Beitrag: dali4u
  vi aus Project Explorer automatisch öffnen julilinde 4 5.122 29.08.2012 15:57
Letzter Beitrag: Y-P
  Win Explorer im hintergrund? Escatec 2 4.405 06.10.2011 09:50
Letzter Beitrag: M@rRy

Gehe zu: