Tastenkombination "Strg + Alt + Entf" scripten

  • Hallo,

    ich schreibe gerade ein Script, welches die Datensicherung übernehmen soll. Das eigentliche Script für die Sicherung läuft auch soweit. Nun möchte ich aber den Rechner, an dem die Sicherung durchgeführt wird nicht immer mit einem angemeldeten Benutzer laufen lassen. Also habe ich mir überlegt, dass ich die Anmeldung auch durch AutoIt machen könnte. Nur scheint die Tastenkombination "Strg + Alt + Entf" irgendwie nicht zu funktionieren. Versucht habe ich es so:

    Send("{CTRLDOWN}")
    Send("{ALTDOWN}")
    Send("{Del}")

    Aber das klappt so nicht. Wenn ich das Script manuell starte sollte eigentlich das Fenster geöffnet werden, wo ich z.B. den Rechner sperren kann oder wo man den Task-Manager öffnet. Es kommt aber eine Abfrage, ob ich eine Datei, die sich auf dem Desktop befindet, löschen möchte. Gibt es eine Lösung für eine Windowsanmeldung?

    Vielen Dank schonmal für Eure Hilfe!

    Grüße aus OWL,

    Frank

  • Hallo,

    erstmal danke für Deine Antwort. Aber wenn ich das script starte, passiert gar nichts. Kann es sein, dass Windows die Tastenkombination nicht simulieren lässt?

    Grüße aus OWL,

    Frank

    • Offizieller Beitrag

    ja!

    Zitat

    The following hotkeys cannot be set:

    Ctrl+Alt+Delete It is reserved by Windows
    F12 It is also reserved by Windows, according to its API.
    NumPad's Enter Key Instead, use {Enter} which captures both Enter keys on the keyboard.
    Win+B,D,E,F,L,M,R,U; and Win+Shift+M These are built-in Windows shortcuts. Note: Win+B and Win+L might only be reserved on Windows XP and above.
    Alt, Ctrl, Shift, Win These are the modifier keys themselves!
    Other Any global hotkeys a user has defined using third-party software, any combos of two or more "base keys" such as '{F1}{F2}', and any keys of the form '{LALT}' or '{ALTDOWN}'.

    aber eigenltich nur bei hotkeyset..
    ganz simple um den taskmrg zu öffnen:

    Code
    Run("taskmgr.exe",@SystemDir)
  • 1. das gilt wirklich nur für hotkeyset
    2. er will das system glaub ich sperren
    3. probier mal send("{lwin}l") (ist benutzerwechsel - sperrt automatisch - nützlicher Nebeneffekt)

  • Hallo nochmal,

    sperren möchte ich das System nicht. Das Problem ist, dass der Rechner im Normalfall gesperrt ist. Wenn dann abends die Datensicherung laufen soll, muss AutoIt das System entsperren. Oder gibt es dafür eine separate Funktion?

    • Offizieller Beitrag

    aso... Shutdown() is da ganz nütulcih:

    Code
    0 = Logoff
    1 = Shutdown
    2 = Reboot
    4 = Force
    8 = Power down
    32= Suspend
    64= Hibernate


    Also Shutdown(0) meldet den aktuellen benutzer ab..
    das prob wäre dann nur das man den benutzer nicht per autoitscript wechseln könnte sondern nur per hand..

    wenn du das system sperren willst könntest du es auch mit BlockInput() probieren! da liegt aber das prob wenn du halt den taskmgr öffnest das wider aufgehoben wird!

  • Benutzt du für die eigendliche Datensicherung sendkeys ?
    Normalerweise läuft ein Programm weiter, auch wenn der Bildschirm gesperrt ist, Du kannst Dann nur keine Fenster ansteueren.

    Aber du könntest Dein Script mit RUNASSET unter einem anderen User starten:

    RunAsSet ( ["user", "domain", "password" [, options]] )

    Gruß
    Wolke

  • Die Datensicherung wird in unserer ERP-Software gestartet. Es werden also keine Verzeichnisse kopiert, sondern Menüs und Fenster angesteuert. Wenn ich das Script unter einem anderen User laufen lasse. Meldet AutoIt diesen User dann an, oder läuft das im Hintergrund. Wenn der USer angemeldet werden würde, wäre es genau das, was ich suche.