dgr243 Geschrieben 21. Mai 2010 Geschrieben 21. Mai 2010 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 Zitieren
Mcolli Geschrieben 21. Mai 2010 Geschrieben 21. Mai 2010 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 Zitieren
dgr243 Geschrieben 21. Mai 2010 Autor Geschrieben 21. Mai 2010 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 Zitieren
Mcolli Geschrieben 21. Mai 2010 Geschrieben 21. Mai 2010 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). Zitieren
Empfohlene Beiträge
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.