Programm fernsteuern

  • Hallo,

    ich möchte ein Tool, was zum Export von Bilddateien genutzt wird, mit AutoIt fernsteuern. Leider funktioniert das Script nur bis zum Start des Programms, danach tut sich leider gar nichts mehr. Auch das Beispielscript zum öffnen von Notepad, in dem eine Textzeile eingegeben wird und sich danach schließt ohne zu speichern, funktioniert auch nur bis zum Programmstart von Notepad, danach ist Funkstille.

    Kann es sein, dass AutoIt unter dem aktuellen Windows (21H2) mit der Programmsteuerung Probleme hat, oder muss ich vlt. irgend etwas aufrufen, was die Steuerung dann ermöglicht? Ich möchte erst einmal Im Programmmenü den Punkt "Record" aufrufen und dort dann "Load All". Das weitere Vorgehen, denke ich, werde ich dann alleine hin bekommen, allerdings muss ich erst mal das Programmfenster richtig ansteuern können.

    Für Hinweise wäre ich sehr dankbar!

    VG

    Mein Code sieht im Moment so aus (die auskommentierten Zeilen sind erfolglose Versuche. Der Send-Befehl funktioniert übrigens auch nicht):

  • Wenn ich mich richtig erinnere: Das Beispielscript für die Automation von Notepad funktioniert nur mit einem engl. Windows, da der Titel des Fensters sprachabhängig ist.

    Dein Beispiel: autoit.Send ist sicher verkehrt, da dies nur für die ActiveX Version funktioniert. Versuche "Send" bzw. - was ich SEHR empfehle - ist die Automation von Controls also "ControlSend".

  • Hier mal ein kleines Bsp. mit notepad.exe:

  • Wenn ich mich richtig erinnere: Das Beispielscript für die Automation von Notepad funktioniert nur mit einem engl. Windows, da der Titel des Fensters sprachabhängig ist.

    Dein Beispiel: autoit.Send ist sicher verkehrt, da dies nur für die ActiveX Version funktioniert. Versuche "Send" bzw. - was ich SEHR empfehle - ist die Automation von Controls also "ControlSend".

    Hallo,

    danke für die Antwort, leider hat mich das bis jetzt auch nicht weiter gebracht. Ich bekomme kein Lebenszeichen von AutoIt in dieses Programm gesetzt -.- Mit SEND oder ControlSend tut sich bis jetzt noch nicht, aber ich muss mir ControlSend noch genauer angucken.

  • Hier mal ein kleines Bsp. mit notepad.exe:

    OK ... das sieht schon mal sehr nice aus. Das Skript läuft auch. Wenn ich allerdings die Befehle in meinem Programm ausprobiere, dann passiert leider nichts. Es gibt z. B. keine Möglichkeit mit STRG irgendwas zu steuern, ich müsste wissen, wie ich die Alt-Taste abfrage, bzw. ansteuere. In der Hilfe von AutoIt hab ich dazu leider nichts gefunden. Mit dem AutoIt Info-Tool bekomme ich zwar die ID von dem Menüpunkt, weiß aber nicht, wie mich das weiter bringt.

    Wo ist das Script eigentlich her? Gibts dafür eine ausführliche Dokumentation?

    VG

  • Wenn ich allerdings die Befehle in meinem Programm ausprobiere, dann passiert leider nichts.

    Dein Script aus deinem ersten Post kann so nicht funktionieren... daran ist so ziemlich alles falsch... oder macht keinen Sinn.

    Es gibt z. B. keine Möglichkeit mit STRG irgendwas zu steuern, ich müsste wissen, wie ich die Alt-Taste abfrage, bzw. ansteuere.

    Für ControlSend schaust du in der Hilfe bei Send... da stehen die Sachen, die du dafür wissen musst.

    ! = Alt-Taste

    + = Shift-Taste

    ^ = Strg bzw. Ctrl-Taste

    # = Windows-Taste

    Wenn ich morgen dazu komme, schreibe ich dir noch ein Bsp. dafür, wie du ein Menü "ausliest" und den zu dem jeweiligen Menüpunkt passenden ControlSend erstellen kannst.

    Wo ist das Script eigentlich her? Gibts dafür eine ausführliche Dokumentation?

    Das ist von mir... hatte ich extra für dich geschrieben... dafür brauche ich 10-15 Minuten... dein Problem ist, dass dir die nötigen Grundlagen fehlen, um mit AutoIt zu arbeiten und du deshalb gar nicht weißt, wo, wie und was du suchen musst. Sowas kommt nicht über Nacht...

  • So, hier noch ein Bsp. - mehr kann ich momentan nicht für dich tun...

    Einmal editiert, zuletzt von Bitnugger (7. November 2021 um 00:24)

  • "ES LEBT!" ;)

    Vielen lieben Dank! Es hat funktioniert, ich bin im Programm angekommen und kann (zumindest schon mal) das richtige Menü aufrufen. Das Programm beendet sich sogar ohne die Nachfrage, ob man wirklich beenden möchte, was man beim Klicken auf "X" sonst bekommt :) Das hätte ich alleine nicht hinbekommen!

    Jetzt muss ich nur noch raus kriegen, wie ich die Listfelder, ausgelesen bekomme und darauf reagieren kann.