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!
Du kannst ja so tun als ob Jemand z.B. "Alt-D..S..B" drückt. Im Editor ist das z.B. Datei-Speichern&Beenden.
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!
30.03.2010, 14:01 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2010 14:03 von dimitri84.)
Ja genau über die dazugehörige Tastenkombination müsste das doch funktionieren, insofern man eine definiert hat. Kannst du mir noch zwei Stichpunkte geben wie man einen Tastendruck simuliert?
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
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!
30.03.2010, 14:58 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2010 15:13 von dimitri84.)
Öhm ... ich hab's mir noch nicht angeschaut aber ich glaub ich suche was viel einfacheres! Ich will im VI eine Menueauswahl simulieren und nicht in einem externen Programm. In manchen Programmen will ich keine Eventstruktur benutzen und polle deshalb mein Menü. In einem Case-frame refreshe ich z.B. mein FP und genau das will ich auch programmatisch auslösen können. Mit einer Eventstruktur wäre das kein Problem. Auch so bekomme ich das gewünschte Case schon irgendwie aufgerufen. Nur dachte ich vielleicht geht's ganz einfach, wenn ich so tu als ob der Benutzer im Menü Refresh ausgewählt hat ...
Edit: Ich hab grad gesehn da ist doch was für mich dabei! Mal gucken ob sich der Aufwand lohnt. Dachte das würde einfacher gehen.
Danke SeBa.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
' schrieb:Ein Case pollt dein Menu.
In den weiteren Cases wird verarbeitet, wenn was im Menu ausgewählt wurde.
Ein Case davon ist der Refresh.
Da du jetzt eine State-Machine hast, kannst du jederzeit von deinem Warte/Pollzustand (auch ohne Event) in den Refresh-Case springen.
Ich weiß nicht, ob ich das so auf mein Programm anwenden kann ohne eine grundlegende Perestroika. Aber ich merk's mir für das nächste Mal.
Jetzt ist es so in etwa:
State-Machine bei der ich im Idle-Frame nebenbei das Menü polle. Menü-Tags werden im selben Idle-Frame verarbeitet. Wenn die anderen Frames dran sind, wird das Menü einfach deaktiviert (ausgegraut).
Aber woher der Selektor seinen Wert bekommt kann man ja ohne viel Aufwand beeinflussen. Irgendwie so mit einem First-Run-Flag z.B.:
So in der Art mach ich das dann auch.
Ich dachte einfach vielleicht kann man auch ganz easy einen Menüeintrag simulieren. Wie ein Benutzerereignis z.B.. Aber das "Workaround" ist ja auch kein Aufwand.
Gruß dimitri
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
ich habe das Problem das ich das hochgeladene Vi nicht ganz nachvollziehen kann. Ich möchte ein Programm mit Hilfe von LabVIEW öffnen (Beispielsweise Excel). Das funktioniert auch. Jetzt möchte ich mit LabVIEW eine Tastenkombination simulieren und in Excel ausführen lassen.
Da ich noch nicht viel programmiert habe, stellt sich das als größeres Problem dar. Brauche ich dafür zwingend diese ,,dll,,? Ich weiß zwar was es heißt, kann aber nicht verstehen wofür es notwendig ist. Für eine Erklärung wäre sehr dankbar.
Der normale Weg der Kommunikation mit Excel ist ActiveX. Damit kannst du eigentlich alles erledigen, was du sonst per Maus/Tastatur in Excel anstellst.
Was genau hast du denn vor? Oder war Excel nur ein (schlecht gewähltes) Beispiel?
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!
' schrieb:Brauche ich dafür zwingend diese ,,dll,,? Ich weiß zwar was es heißt, kann aber nicht verstehen wofür es notwendig ist. Für eine Erklärung wäre sehr dankbar.
Die Funktionen der DLL machen das, was du gesagt hast: einen Tastendruck simulieren.
Ein Tastendruck wird simuliert, indem in den Tastaturpuffer (oder Maus-Puffer, etc.) geschrieben wird. Dafür gibt es den Betriebssystem-Befehl SENDINPUT. Die DLL macht also nichts weiter, als den Befehl SENDINPUT zur Verfügung zu stellen. Die Applikation, die gerade den Fokus hat, bedient sich am Tastaturpuffer - und ist somit fernsteuerbar.
Inwieweit das unter Win7, also für nicht-Win32-Systeme, noch geht, weis ich nicht.
Sollte deine Aufgabe allerdings mit ActiveX möglich sein, solltest du das verwenden.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).