Zum Inhalt springen

Objektliste von Fremdanwendung?


dgr243

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...