Zum Inhalt springen

Objektliste von Fremdanwendung?


Empfohlene Beiträge

Geschrieben

Moin,

ich hab hier eine Anwendung, in welcher ein IE Objekt eingebettet ist, welches ich über das Scriptinterface dieser Anwendung ansprechen will.

Bekannt ist mir, dass das Scriptinterface als Input VB.net oder C#.net akzeptiert, welcher zum Startzeitpunkt als VB.Net Code kompiliert wird.

Ausser dem grundlegenden Gerüst dieses Scriptinterfaces ist mir leider nichts weiter bekannt.

Kann man anhand dieser -sehr rudimentären Daten- schon was sagen? Gibt es eine Funktion â la "schau in Fenster mit Namen xy nach einem IE Object und sag diesem Object, es soll den URI http://xxxx aufrufen"?

Gruss

dgr

Geschrieben

Hallo,

mir ist nicht ganz klar ob Du "verantwortlich" für das Schnittstellendesign der beiden Anwendungen bist, also ob du Einfluss auf den Code der Anwendung mit dem IE-"Objekt" hast.

Trotzdem habe ich Dir gerade mal nen Sample Code zusammen geschustert der Zeigt wie man Objekte von einer in die andere Anwendung bekommt.

Das ganze besteht um es transparent zu machen aus 3 Projekten (ganz ganz kleinen Projekten):

ObjektKlasseSerializable: Dieses Projekt stellt die zu übnermittelnde eigene Objektklasse zu verfügung. Sowohl Empfänger-Anwendung als auch Verteiler-Anwendung Verweisen auf diese DLL.

ObjektListenErzeuger: Eine Mini-Anwenund zum Erzeugen von Objekt und Verteilen. Das Verteilen geschiet hier - ums einfach zu machen - per FileStream. Dazu wird für jedes zu übermittelnde Objekt eine Datei in das Verzeichnis "C:\ObjektVerteilerTest" geschrieben. Die übermittlung könnte aber auch TCP/IP Protokoll per Rauchzeichen ,Buschtrommel oder wie auch immer erfolgen.

ObjektListenSammler: Kleine GUI_Anwendung die auf Knopfdruck das verzeichnis "C:\ObjektVerteilerTest" ausliest.

Wenn Du schreib rechte auf C: hast solltest Du die Programme einfach starten können. Am besten guckste Dir erst das DLL Projekt an wenn Du mal gesehen hast wie das ganze arbeitet - Du musst die GUI Projekte einmal restellen weil ich die Debug / Release ordner geleert habe um speicherplatz zu sparen.

P.S: hatte bischen Zeitdruck somit sind die Projekte was Namensgebung und Rechtschreibung angeht für A**** sry.

ObjektVermteilung.zip

Geschrieben

Moin,

wow danke, da werd ich mich direkt mal einlesen. Bin noch recht neu, da ich eigentlich reiner Bash / Perl / PhP Scripter bin und mich nun mit dem Thema neu auseinandersetzen muss :hells:

Grundsätzlich hab ich "indirekt" Einfluss auf den Code der Anwendung innerhalb derer sich das IE Fenster/Objekt befindet, welches ich ansprechen will. Stammt von einem Partnerunternehmen, dem ich na klar per Change Request sagen könnte "mach das Fenster über Schnittstelle xyz ansprechbar".

Da das aber ein Change an der eigentlichen Applikation ist, muss die na klar den gesamten Test- und Freigabezyklus durchlaufen, was ich hoffte umgehen zu können.

Ganz platt formuliert hatte ich auf sowas wie

- Suche Fenster mit Namen "23"

- Suche innerhalb des Fensters nach dem IE Objekt

- Sage diesem IE, dass es zu einer bestimmten URL navigieren soll

Alternativ wäre evtl. auch denkbar (keine Ahnung, ob das geht):

- Suche IE Prozess, der als Childprozess vom Prozess mit Namen "xyz" läuft

- Sage diesem IE, dass es zu einer bestimmten URL navigieren soll

Allerdings weiss ich nicht, ob 1. IE Prozesse einen Eigenschaft "Subprozess von PID 1234" haben und 2. wenn ja ich solchen Prozessen von einem bisher unbeteiligten 3. Prozess "Befehle erteilen" kann.

Ganke nochmal und Gruss

dgr

Geschrieben

Also Grundsätzlich kann man nicht per Programmcode teile eine anderer Anwendung wie ein Steuerelement auslesen und diesem dann auch Eigenschaften zu weisen oder Events dort drin auslösen...

Dazu muss die Anwendung auf dessen Steuerelemnte zu gegriffen werden soll eine Schnittstelle bereitstellen.

Ein Userinterface stellt zum Beispiel auch eine "Schnittstelle" zum Benutzer da.

Statt eine Schnittstelle zu einem Benutzer braucht Deine Anwendung da aber eine Art von Schnittstelle zu Anderen (.Net)-Programmen.

Der Samplecode von mir sollte auch lediglich verdeutlichen wie man Objekte zwichen 2 sepraten Programmen austauscht... was das jeweilge Programm mit einem "empfangenen" Objekt anstellt bleibt ihm überlassen. In dem Sample wird das Empfangen Objekt halt in der Liste dargestellt.

Diese "Schnittstelle" bietet also die Möglichkeit Informationen entgegenzunehmen(Objekt erzeugung) und darauf zu reagieren (Darstellen).

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...