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!
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
06.07.2010, 07:45 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010 07:50 von GerdW.)
- 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...
(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.)
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.
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!
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.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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
06.07.2010, 12:14 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2010 12:15 von GerdW.)
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?