Send funktioniert nicht

  • Hi,
    ich möchte gerne konfigurationseinstellungen in Veeam Endpoind Backup Free automatisieren.

    Da hab ich mal wieder An Autoit gedacht und eine Script gebastelt
    Leider nimmt das Programm die SEND("") Kommandos nicht obwohl sie von Hand funktionieren

    Die Configseite wird aufgerufen und Winactivate funktioniert auch.
    Aber dann passiert nichts mehr.


    Hab Mit Wintitelmatchmode rumprobiert (1,4)
    Aber Winactivate funktioniert ja.

    Hab auch ControlSend ausprobiert, geht auch nicht.

    Kann mir jemand einen Tip geben ?


    Code
    Opt("WinTitleMatchMode", 4)
    ShellExecute("C:\Program Files\Veeam\Endpoint Backup\Veeam.EndPoint.Backup.exe")
    WinActivate("Configure Backup")
    ;~ ControlSend("Configure Backup","","Backup Mode","{ALT}B")
    ;~ ControlSend("Configure Backup","Backup Mode","","{ALT}B")
    Send("{ALT}B")
    Send("{ENTER}")

    Gruß
    Wolke

  • Füg doch mal vor

    Code
    WinActivate("Configure Backup")

    ein

    Code
    WinWait("Configure Backup")

    ein. Dann bist Du sicher, dass - egal wie lange das Programm zum Start benötigt - das richtige Fenster aktivierst.

  • Was macht Alt+B?

  • Sorry aber kritische Dinge wie Backupsoftware mit völlig unzuverlässigen Methoden zu automatisieren ist einfach nur fahrlässig.

    Wenn du schon unbedingt auf GUI Automatisierung zurückgreifen musst verwende wenigstens die Control* Funktionen und verzichte auf mouseclick() bzw. send(). Mit den Control* Funktionen kannst du wenigstens sicherstellen, dass deine Eingaben im richtigen Fenster und auch im richtigen Control des Fensters landen. Die notwendigen Details des Fensters/Controls ermittelst du mit dem au3info Windowtool. Wenn du die Daten, welche du damit ermittelt hast hier postest kann man dir ggf. auch helfen die passende Funktion zu wählen und richtig anzuwenden. Manche GUIs lassen sich aber so leider nicht automatisieren, da sie keine Windows Standardcontrols einsetzen.

    Grundsätzlich rate ich von GUI Automatisierung ab, denn kleine Änderungen an der GUI können dein Script schon unbrauchbar machen. Stattdessen würde ich an deiner Stelle nach Alternativen schauen. Viele Programm bieten dir zahlreiche andere Schnittstellen zur Automatisierung. Konfigurationsdateien können oftmals direkt editiert werden, evtl. in der Registry oder in einer Datenbank geändert werden. Windows Dienste sind normalerweise problemlos per cmdline neustartbar, damit Konfigurationsänderungen übernommen werden. Andere Programme bieten dir cmdline Parameter oder COM Schnittstellen (siehe Excel UDF).

    Im Zweifelsfall frag beim Hersteller der Software nach welche Schnittstellen zur Automatisierung vorgesehen wurden und wie du dein Ziel möglichst zuverlässig erreichen kannst.

  • @water
    ALT + B wählt auf der aufgerufenen Configurationsseite den Backupmode der sich per Shortcut ansprechen läßt.

    Ich will eigentlich nur wissen, welchen Grund es gibt, das in dem Fenster keine gesendeten Keys funktionieren.
    Mal völlig davon abgesehen ob es andere Methoden gibt das Programm zu steuern.

    Gruß
    Wolke

  • Hallo,

    ich konnte deinen "Fehler" bei mir ebenfalls nachstellen.
    Habe einen ähnlichen Ansatz gehabt und konnte feststellen unter Windows 10 funktionieren keine Send() Befehle... unter Windows XP funktioniert die .exe korrekt.
    Ist ggf. ein Fehlerbild im Zusammenhang mit Windows 10 bereits bekannt?

    EDIT: konnte durch #RequireAdmin den Fehler bei mir beheben...

    Einmal editiert, zuletzt von DerAl (9. Februar 2016 um 22:38) aus folgendem Grund: Neuer Erkenntnisse

  • Wurde hier schonmal thematisiert. Unter Windows 10 ist die Benutzerkontensteuerung restriktiver. Im anderen Fall ging es darum, dass Drag&Drop auf ein eigenes Fenster nicht mehr funktioniert wenn dieses Programmfenster selbst mit erhöhten rechten läuft, da der Anwender der die Interaktion druchführt niedrigere Rechte hat als das Programmfenster. Das selbe dürfte auch hier zum tragen kommen. Durch das #requireadmin im "send" Script wird das Script dann vermutlich auf die selbe Berechtigungsebene wie die Veeam Administratoroberfläche gebracht.

    EDIT:
    Hier der andere Thread von dem ich sprach --> Drag&Drop funktioniert unter Win 10 nicht