LabVIEWForum.de
Daten von anderem Programm auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Daten von anderem Programm auslesen (/Thread-Daten-von-anderem-Programm-auslesen)

Seiten: 1 2 3


Daten von anderem Programm auslesen - we.thom - 05.07.2010 12:28

Hi,
danke für den Tipp, ich habe nur das Problem das ich die Vi s nicht öffnen kann, da ich nur LV 8.5 habe.


Daten von anderem Programm auslesen - IchSelbst - 05.07.2010 17:50

' schrieb:danke für den Tipp, ich habe nur das Problem das ich die Vi s nicht öffnen kann, da ich nur LV 8.5 habe.
Alle drei sind jetzt inLv82_img.


Daten von anderem Programm auslesen - we.thom - 06.07.2010 07:21

Guten Morgen,

hab heute morgen mal ein bisschen mit den SubVi's rumgespielt bin auch zu einem Ergebnis gekommen. Vielleicht kann ja mal jemand drüber schauen und mir eventuell ein Verbesserungsvorschlag machen.

Mfg Thomas

Lv85_img


Daten von anderem Programm auslesen - GerdW - 06.07.2010 07:45

Hallo Thomas,

du wolltest Verbesserungsvorschläge?

- Wozu hast du eine FOR-Loop verwendet, die genau einmal iteriert? Kann man die nicht gleich weglassen? (Das kurze Delay ist entweder nicht nötig oder kann per Dataflow/ErrorCluster eingebunden werden.)
- Der Speicherort deiner DLL (in einem Ordner auf deinem Desktop) ist nicht unbedingt typisch oder Windows-konform zu nennen...

[attachment=27603]
(Das Wait in der Sequenz ist normalerweise bei mir ein subVI, dann natürlich ohne Sequenz-Rahmen. Rahmen aktivieren, Edit->Create SubVI, Rahmen im subVI entfernen, speichern und öfter benutzen.)


Daten von anderem Programm auslesen - we.thom - 06.07.2010 09:15

Hi,

danke Gerd. Die For-Loop hab ich nur eingebaut damit das Delay einbauen kann. Das Delay hab ich dazu gepackt weil das Programm anfangs immer die LabVIEW Hilfe geöffnet. Allerdings wenn ich die Highlight-Funktion aktiviert hatte hat es mir das Hilfemenü von DcDesk geöffnet. Das hat mich zu dem Schluss gebracht das ich eine Waitfunktion einbauen muss. Danach hat es dann funktioniert.

Ich hab es jetzt allerdings, wie du gesagt hast ohne ausprobiert, und siehe da es funktioniert. Huh
Kann es daran liegen, dass wenn das Programm nicht geöffnet ist und LabVIEW somit das Window nicht finden kann, die Funktion F1 dann einfach in LabVIEW ausführt.

Den Desktop hab ich einfach nur so als Speicherort genommen. Hab nicht so genau gewusst wo ich es hinpacken sollte!

Danke Schön Guru1

Thomas


Daten von anderem Programm auslesen - IchSelbst - 06.07.2010 11:37

Zitat:Das kurze Delay ...
Theoretisch ist mit folgendem zu rechnen.

Es ist nicht festgelegt, dass mit dem Beenden des Knotens SetForegroundWindow der Befehl SetForegroundWindow tatsächlich komplett abgearbeitet wurde. Streng genommen kann man also nicht sagen, dass die Daten des Knotens SendOneKeyWithCombi auch tatsächlich zur Zielapplikation gelangen. Im schlimmsten Falle besteht hier eine betriebssystemabhängige Verzögerungszeit. Eine Wartezeit kann also nicht schaden.


Daten von anderem Programm auslesen - IchSelbst - 06.07.2010 11:37

Zitat:Das kurze Delay ...
Theoretisch ist mit folgendem zu rechnen.

Es ist nicht festgelegt, dass mit dem Beenden des Knotens SetForegroundWindow der Befehl SetForegroundWindow tatsächlich komplett abgearbeitet wurde. Streng genommen kann man also nicht sagen, dass die Daten des Knotens SendOneKeyWithCombi auch tatsächlich zur Zielapplikation gelangen. Im schlimmsten Falle besteht hier eine betriebssystemabhängige Verzögerungszeit. Eine Wartezeit kann also nicht schaden.


Daten von anderem Programm auslesen - we.thom - 06.07.2010 11:49

Hi,

ich habe jetzt schon wieder ein Problem. Ich kann nun die Applikation öffnen, das Fenster in den Vordergrund stellen, aber nun müsste ich auf eines der unter Fenster (Parameter, Messwerte, Kurven oder Funktionen zugreifen). das funktiniert aber leider mit den zwei Vis Findwindow und Setforedroundwindow nicht wirklich.

Könntet ihr mir da helfen.

Gruss


Daten von anderem Programm auslesen - GerdW - 06.07.2010 12:14

Hallo Thomas,

Nachtrag zu Ichselbst's Beitrag:
"entweder nicht nötig oder kann per Dataflow/ErrorCluster eingebunden werden."

"Könntet ihr mir da helfen."
Da wir dein externes Programm nicht kennen, dürfte das schwierig werden...
Kann man die "unter Fenster" per Tastenkürzel aufrufen? Ansonsten kannst du natürlich auch Mauseingaben simulieren, wird allerdings auch nicht einfacher (Maus auf richtige Position bewegen, Mausklick simulieren, etc...)

"...Findwindow und Setforedroundwindow..."
Haben die "unter Fenster" keinen Namen?


Daten von anderem Programm auslesen - we.thom - 06.07.2010 12:56

hi,

nach langem suchen hab ich ne Tastenkombination zum Umschalten zwischen den Fenstern gefunden. Danke für den Tipp

Gruss Thomas