Batch Programmierung unter WinXP - Tastatur sperren, Funktion wie sleep

Dieses Thema Batch Programmierung unter WinXP - Tastatur sperren, Funktion wie sleep im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Björn_2, 5. Jan. 2005.

Thema: Batch Programmierung unter WinXP - Tastatur sperren, Funktion wie sleep Hallo, ich möchte unter WinXP SP2 ein Batch-Programm schreiben, bei dem es ungemein wichtig ist, dass der Benutzer...

  1. Hallo,

    ich möchte unter WinXP SP2 ein Batch-Programm schreiben, bei dem es ungemein wichtig ist, dass der Benutzer keine Möglichkeit hat die Tastatur sowie Mouse zu benutzen, d.h. das Bewegen der Mouse kann ruhig dargestellt werden, es dürfen aber keine Klicks übermittelt werden. Des Weiteren muss ich eine kurze Pause in das Skript einbauen (ca. 15sec.).
    Ich bin bei der Such nach dem Sperren der Tastatur auf den Befehl
    Code:
    CTTY NUL
    und beim Entsperren auf
    Code:
    CTTY CON
    .
    Doch leider kennt Windows diese Befehle nicht.

    Unter DOS muss es wohl früher mal einen Befehl
    Code:
    sleep
    gegeben haben. Den kennt Windows aber auch nicht mehr.

    Wisst ihr weiter?

    Gruß
    Björn
     
  2. rp
    rp
    Hallo,
    die oben angesprochenen Änderungen in der Registrierungsdatenbank, die gewünschte Pause und eventuelle Programmstarts o.ä. lassen sich mit AutoIt (Freeware, http://www.hiddensoft.com/autoit3/) erledigen. Das fertige Skript wird kompiliert und liegt als Win32-Programm vor.

    Ralf
     
  3. Schönen Dank für eure Antworten doch:

    @ Luigi_Tirol:
    Leider funktioniert das ganze nicht. Wenn ich den Eintrag in der Reg vornehme, kann ich trotzdem noch Mouse und Keyboard bewegen.
    Der Versuch über die rundll.exe scheiterte auch. Es gibt nur noch die rundll32.exe und die kennt nicht mehr mouse und keyboard

    @ rp:
    Ich habe gerade mal einen Blick ins Manual geworfen doch musste ich leider feststellen, dass das nichts für mich ist.
    Mit dll's kenne ich mich nicht aus und weiß nicht wie ich da was kopiere und wie ich es später aufrufen soll. Schade :(


    Gibt es denn keine fertigen Scripts dafür??

    Gruß
    Björn
     
  4. rp
    rp
    Ich auch nicht. Für die Registry-Änderung reicht die Funktion RegWrite und für die Pause Sleep. Insgesamt vielleicht 5 bis max. 10 Programmzeilen. Was soll denn das Batch-Programm machen?
    AutoIt war ursprünglich (und ist heute noch bestens geeignet), Software-Installationen, die sich nicht vorkonfigurieren lassen (unbeaufsichtigte Installationen, bestimmte Vorgaben, ...) zu automatisieren, also Eingaben in Dialogboxen zu tätigen, Schaltflächen zu betätigen usw.

    Ralf
     
  5. Ich brauche zwei Programme:

    1. eines, das Mouse und Keyboard sperrt

    und

    2. eines, das die Sperrung wieder aufhebt

    Eine Datei zum Schlafen habe ich bereits (Luigi_Tirol sei Dank)

    Ich habe mir AutoIt mal angeschaut und denke, dass es die Zeile
    Code:
    BlockInput(1 bzw. 0)
    schon tuen müsste.

    Kann die denn so alleine in einer Datei stehen?

    Gruß
    Björn

    P.S.: Eine gute Alternative zum automatischen Installieren von Programmen ist AutoInstallation v.1.0 oder ScriptIt, wobei ich ein Problem mit ScriptIt habe, welches ich auch hier im Forum beschrieben habe
    http://www.wintotal-forum.de/index.php?topic=59615.new#new
     
  6. rp
    rp
    Hallo,
    prinzipiell schreibt man den AutoIt-Skript-Code mit einem Editor in eine Textdatei und speichert diese als *.au3 (das ist die Standard-Erweiterung für AutoIt-Skripte). Anschließend startet man Aut2Exe und wählt als Source die *.au3, als Destination einen Namen für die fertige *.exe und ggf. eine *.ico für ein anderes Icon. Convert erstellt das Programm.
    BlockInput ist für diesen Zweck geeignet, wirkt aber nur, solange das Skript läuft. Das heißt, alles, was während der Abschaltung von Tastatur und Mouse passieren soll, müsste aus dem Skript heraus passieren oder das Skript muss eine Pause einlegen. Also z.B.:
    BlockInput(1)
    RunWait(D:\Setup.exe) ; Setup.exe starten und auf Beendigung warten
    BlockInput(0)
    Exit

    oder wenn alles andere aus dem Batch heraus gestartet werden soll:
    BlockInput(1)
    Sleep(15000) ; 15 Sekunden warten
    BlockInput(0)
    Exit

    Was soll denn während der Deaktivierung von Tastatur und Mouse erledigt werden?

    Ralf
     
  7. Hallo,

    schönen Dank für die Antwort.
    Ich dachte eigentlich ein Script schreiben zu können, dass einmal gestartet wird und dann für unbestimmte Zeit Mouse und Tastatur sperrt und ein weiteres, das ebenfalls nur einmal kurz gestartet wird und dann die Sperrung aufhebt.

    Im Prinzip sollte das erst einmal eine Art Scriptsammlung werden.

    Mein Vorhaben ist nämlich per unbeaufsichtigter Installation einen Rechner komplett einzurichten und nicht jede Software hat einen Installer, der den Silent-Modus unterstützt. Programme wie ScriptIt beispielsweise, erlauben dem Benutzer die Verwendung von Mouse und Tastatur während der Installation. Ungeduldige Nutzer können dann wild hin und her klicken und ggf. die Installationsroutine zerstören. Daher dann das Sperren der Mouse und des Keyboards.

    Ich habe mich jetzt aber doch mal ein wenig mehr mit AutoIt3 beschäftigt (hatte AutoIt2 nicht gefunden) und habe festgestellt, dass es doch nicht so kompliziert ist.

    Dann werde ich halt auf ein komplettes Installationsscript mit AutoIt zurückgreifen und das ganze mit BlockInput() steuern.

    Gruß
    Björn
     
  8. Hallo miteinander,

    ich arbeite in einem größeren Systemhaus.
    Wir nutzen AutoIT momentan für eine Domänenmigration.
    Ich bin bisher sehr zufrieden mit den Möglichkeiten.
    Die komplette Einrichtung eines PCs würde ich jedoch per Ghost-Image
    lösen. Das ist nicht so umständlich.

    mfg,
    reg_hack
     
Die Seite wird geladen...

Batch Programmierung unter WinXP - Tastatur sperren, Funktion wie sleep - Ähnliche Themen

Forum Datum
Dateigröße auslesen mit batch programmierung Software: Empfehlungen, Gesuche & Problemlösungen 6. Feb. 2015
batch programmierung - dnc files Windows XP Forum 30. Nov. 2006
Batchprogrammierung /Windows NT (XP) Webentwicklung, Hosting & Programmierung 4. Dez. 2005
Batch-Programmierung - nach echo kein Zeilenwechsel Webentwicklung, Hosting & Programmierung 28. Feb. 2005
Batch-Programmierung - String manipulation Webentwicklung, Hosting & Programmierung 27. Feb. 2005