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 

C#-Programm in LV aufrufen



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!

16.03.2010, 15:43
Beitrag #1

1johleh Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 171
Registriert seit: Oct 2009

2014
2008
DE

63743
Deutschland
C#-Programm in LV aufrufen
Hallo Leute,
bin mal wieder auf ein Problem gestoßen.O
Ich möchte in meiner Oberfläche ein bereits bestehendes Programm aufrufen und bedienen.
Nach meiner Einschätzung sollte dies in einen Aktive-X-Container oder so funktionieren.
Leider habe ich keinerlei Infos über das Programm außer das es in C#-Programmiert wurde und das es global auf dem Sufer liegt. Es wird aber lokal bei mir auf dem Rechner mittels einer Verknüfung gestartet.
Wie finde ich raus wie ich es ansprechen muß und wie mache ich das am besten????

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.03.2010, 15:46
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
C#-Programm in LV aufrufen
' schrieb:... auf dem Sufer liegt. ...

:huh:Wo?

Gruß SeBa

Edit:

Ok... mehr Text.

Welches Programm ist das? Selbst geschrieben? Dokumentation?

ActiveX wird nur funktionieren, wenn das Programm diese Schnittstelle auch bereitstellt. Gleiches gilt für .Net oder DDE.

Wenn du das nicht weißt, kannst du den Programmierer fragen?

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
16.03.2010, 15:54
Beitrag #3

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
C#-Programm in LV aufrufen
Die Dokumentation des Programmes lesen. So eine Doku wird schliesslich von jedem halbwegs guten Programmierer erstellt und sie beschreibt alle Schnittstellen des Programmes. Sollte es keine gute Dokumentation dazu geben, dann nimmts du eine beliebige andere, möglichst schwere Programmbeschreibung und schlägst damit solange auf den zuständigen Programmierer ein, bis er verspricht sich in Zukunft zu bessern!

Also wenn es keine Hilfedateien zu deinem Programm gibt, dann sehe ich nicht besonders viele Chancen. Vielleicht kann man die Schnittstelle des Programms irgendwie abfragen, aber wie und ob das geht - da habe ich als hauptsächlich HW-Mensch keine Ahnung....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.03.2010, 16:08
Beitrag #4

1johleh Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 171
Registriert seit: Oct 2009

2014
2008
DE

63743
Deutschland
C#-Programm in LV aufrufen
Also,
das Programm ist leider ein selbst geschriebenes. :-(
Es wurde vor einigen Jahren von nem Studenten geschreiben und der ist leider nicht mehr greifbar :-(
Ich kann mir nicht vorstellen, dass eine solche Schnittstelle vorhanden ist.
Wieso sollte er das rein bringen, es ging damals nur um die Funktionalität.
Gibt es nicht die Möglichkeit ein programm auf zu rufen und es in einem Art unterpanel an zu zeigen und mit zu nutzen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.03.2010, 16:22
Beitrag #5

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
C#-Programm in LV aufrufen
Ich weiss, dass man mit LV Eingaben simulieren kann, wenn man dem anderen Programm den Fokus gibt. Dazu gab es vor kurzem erst etwas hier im Forum. Wenn ich später noch Zeit habe, schau ich mal ob ich den Link finde.

Edit:
Hab den Link mal direkt gesucht.
LVF-Link
Leider gibt es kein konkretes Beispiel, aber man bekommt zumindest eine Idee, in welche Richtung man laufen muss.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.03.2010, 19:50
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
C#-Programm in LV aufrufen
Ich hab mal das mit dem user32.dll:FindWindowA (Fensterhandle holen) und user32.dll:SetForegroundWindow (bestimmtes Fenster aktiv setzen) eingebaut. Einfach Notepad mit Titel "Unbenannt - Editor" öffnen, Text unten rechts (im VI) eingeben und Button ALLES klicken.

Voraussetzung ist natürlich, dass innerhalb des anderen Programmes das gewünschte Element den Fokus hat. Aber auch das kann man - zumindest theoretisch - von LV aus machen.

Lv82_img


Angehängte Datei(en)
Sonstige .zip  NewFkt.zip (Größe: 223,73 KB / Downloads: 285)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.03.2010, 07:48
Beitrag #7

1johleh Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 171
Registriert seit: Oct 2009

2014
2008
DE

63743
Deutschland
C#-Programm in LV aufrufen
Moin Leute,

erst mal vielen Dank für die zahlreichen Antworten.
Ich muß gestehen mir war das alles etwas zu hoch Undecided
Fokus? Da hab ich leider naoch nichts mit gemacht / gehört.
Was ist denn der Fokus innerhalb eines Programms?
Also in die Oberfläche des Programms sollen einfach nur Eingaben gemacht werden.
Ja und es dann auch einmalig ausführen.
@IchSelbst das Programm schaut schon gut aus, aber hmmmm.... versteh´s nicht ganz....

Bräuchte da mal so ne Art Strickmuster :-)
1. Mach das
2. Mach das
3. usw :-)

Bin wie gesagt noch nicht der super crack in LV, leider....

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.03.2010, 08:02
Beitrag #8

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
C#-Programm in LV aufrufen
Nicht nur Dir. Big Grin
Das Problem / die Schwierigkeit ist in dem Fall aber nicht LabVIEW, sondern welche DLL Du wie einbindest.
Ich hab' z.B. noch nicht verstanden, was "MyWin32API.dll:SendOneKeyWithCombi" macht. Unsure
Vielleicht werden wir noch aufgeklärt. Big Grin

Gruß Markus

' schrieb:Ich muß gestehen mir war das alles etwas zu hoch Undecided

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.03.2010, 08:53
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
C#-Programm in LV aufrufen
' schrieb:Fokus?
Fokus heißt, dass ein Programm die Tastatureingaben bekommt. Den Fokus gibt es für das Programm - dann ist die Titelzeile nicht mehr ausgegraut. Innerhalb eines Programmes gibt es Eingabeelemente. Und das Element, in das man gerade Daten eingeben kann, hat den Fokus. (Guckst du Eigenschaftsknoten Tastaturfokus). Das Eingabeelement, das den Fokus hat, ist gewöhnlich mit z.B. einem schwarzen Rahmen gekennzeichnet (der immer weiterhüpft, wenn man die Tab-Taste betätigt.)

Zitat:Bräuchte da mal so ne Art Strickmuster
Guckst du Event für "Alles": Erst Handle für Zielapplikation holen. Der Fenstername ist das, was oben in der Titelleiste steht. Beachte, dass meine Ausführungen bisher nur für bis XP geprüft sind! Dann Zielapplikation aktivieren. Guckst du zweiten DLL-Knoten. Schließlich die gewünschten Daten senden.

Hast du mal das Muster ausprobiert mit dem Notepad?


' schrieb:Ich hab' z.B. noch nicht verstanden, was "MyWin32API.dll:SendOneKeyWithCombi" macht.
Guckst du beiliegendes Textfile.
SendOneKey => Eine Taste senden. z.B "A"
WithCombi => z.B. Shift, Shift+Ctrl+Alt
Gesendet wird mit dem WinAPI-Befehl SendInput. Mit SendInput können im übrigen auch Mouse-Operationen gesendet werden.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.03.2010, 08:56
Beitrag #10

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
C#-Programm in LV aufrufen
Das hatte ich doch glatt übersehen.... Blush

Gruß Markus

' schrieb:Guckst du beiliegendes Textfile.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
  programm in anderem Programm einbinden maier_m 1 3.740 04.04.2006 09:19
Letzter Beitrag: eg

Gehe zu: