extern auf ein IE Objekt zugreifen

  • Hallo,

    ich habe ein Script welches ein Fenster mit nem IE Objekt und einer Seite darin offen hat.
    Dazu habe ich ein zweites Script was im Hintergrund läuft.

    Jetzt möchte mit dem zweiten Script den Inhalt im IE Objekt vom ersten Script steuern. Also z.B. auf ein Button klicken, Texte in Inputs einfügen, bestimmte Wörter anders färben, etc.

    Ist das überhaupt möglich?
    Oder muss ich das umständlich mit StdinWrite und ConsoleRead umsetzen?

  • Da müsstest schon mehr Details liefern.

    Im Grunde können zwei AutoIT Scripte nicht mit einander kommunizieren, es sei den man bringt es denen bei ;). Die Frage ist, liegen die zwei Scripte auf einem Rechner oder jeweils seperat? Wenn diese auf einem Rechner liegen, versteh ich den Sinn von zwei Scripten nicht.

    Ansonsten musst du eine Kommunikation zwischen den zwei Scripten bauen. Hiefür gibt es viele Möglichkeiten. Die eine wäre wie du schon erwähnt hast über die Console, SQLite, TCP, DLL Struct usw... Dan gibt es auch banale Methoden, wie WinTitel ändern und mit zweiten Script auslesen ... Der Creativität sind hier keine Grenzen gesetzt ;)

  • Ja die beiden Scripte laufen auf dem selben Rechner, wäre sonst etwas doof für die Console oder? :D
    Und für was 2 Script? Ich finde dieses hinterher fragen eig. extrem unnötig und zeitaufwändig aber naja egal ...
    AutoIt kann nicht mit Threads arbeiten, also lasse ich ein zweites Script im Hintergrund die ganze Zeit arbeiten und möchte seine Ausgabe im ersten Script anzeigen.

    Ich dachte an sowas wie mit Controlblabla zu arbeiten oder ähnlichen. Vielleicht auch irgend wie den Handle zum IE Objekt erfassen und dann ganz normale IE Befehle drauf kloppen. Ich möchte ungern eine richtige Kommunikation zwischen den beiden Scripten führen lassen, aber wenn es nicht anders geht, dann bleibt mir auch nichts anderes übrig :D

  • 4ern hatte schon einige Beispiele geliefert, wie man die Scripte sauber "kommunizieren" lassen kann. Es gibt noch eine Variante, die ich allerdings als Quick&Dirty ansehe, obwohl sie funktionieren sollte. Gucke dir dazu mal ControlGetHandle(), ControlSetText(), ControlClick() usw. an.

    Spoiler anzeigen

    Überraschung!


    MfG Donkey