Hi,
ich bin dabei mich wieder in AutoIT einzuarbeiten (hab vor langer Zeit schon mal was damit gemacht). Fürn Anfang soll ein Notepad-Fenster geöffnet werden, ein Text reingeschrieben werden und das Ganze unter einem bestimmten Pfad gespeichert werden. Ich hab mir überlegt das mit ControlSend() zu machen allerdings scheint das ziemlich aufwändig. Hier mein bisheriger Code:
If FileExists("Bibliotheken\Dokumente\Test4You.txt") Then FileDelete("Bibliotheken\Dokumente\Test4You.txt")EndIfIf ProcessExists("notepad.exe") Then ProcessClose("notepad.exe")Else Run("notepad.exe") WinWaitActive("Unbenannt - Editor") ControlSend("Unbenannt - Editor", "", 15, "Test4You") WinClose("Unbenannt - Editor") WinWaitActive("Editor") ControlClick("Editor", "&Speichern", "") WinWaitActive("Speichern unter") ;Prüft ob in der Pfadleiste der richtige Pfad (Bibliotheken/Bilder) steht ;Falls ja, wird im Dateinamen-Feld der entsprechende Dateiname geschrieben ;Falls nein, wird in der Pfad-Leiste der Pfad eingetragen, der Dateiname vergeben und auf Speichern gedrückt If ControlGetText("Speichern unter", "Adresse: ", 1001) == "Bibliotheken\Bilder" Then ControlSend("Speichern unter", "", 1001, "Test4You.txt") ControlClick("Speichern unter", "&Speichern", 1) Else ControlSend("Speichern unter", "Adresse: ", 1001, "Bibliotheken\Bilder" ControlSend("Speichern unter", "", 1001, "Test4You") ControlClick("Speichern unter", "&Speichern", 1) EndIf
EndIf
Nur leider gibts hier erstmal Fehlermeldungen (ich nehme an da die Eigenschaften der Controls für die ControlSend()-Funktion annähernd identisch bzw. identisch sind). Gibts eine Möglichkeit direkt auf das Control zuzugreifen (AutoIt-Window Info zeigt ja auch noch explizite Control-Eigenschaften an).
Außerdem ist möglicherweise bei der Überprüfung auf den richtigen Pfad ein Fehler, da im Control als Text steht "Adresse: + "Pfad"". In meinem Fall steht da eben schon "Bibliotheken\Bilder", falls das da aber nicht steht würde der Text des Controls auch anders heißen, dann ist aber kein Vergleich mehr möglich da es das Control dann möglicherweise gar nicht mehr gibt (unter dem Namen). Ich hoffe ihr versteht was ich meine