Numpad einschalten, wenn externe Tastatur an Notebook angeschlossen ist

  • Ich hatte das Problem, dass ich die externe Tastatur am Notebook mal angeschlossen hab (Numpad soll an sein), und mal nicht (Numpad soll aus sein).
    Da hab ich mir folgendes kleine Script geschrieben, welches im Gerätemanager nachsieht, ob die Tastatur mit der Kennung ("Geräteinstanzerkennung" heißt das im Gerätemanager) angeschlossen ist, und schaltet das Numpad entsprechend an oder aus. Das ganze wird zur .exe compiliert und in den Autostart eingetragen.

    Spoiler anzeigen

    Simpel, aber funktioniert prima.

    Ich weiß nur noch nicht, wie ich das Skript automatisch starten kann, wenn ich die Tastatur nach dem Booten dranstecke.

    Einmal editiert, zuletzt von amsoem (22. Oktober 2008 um 12:40)

  • Zitat

    Ich weiß nur noch nicht, wie ich das Skript automatisch starten kann, wenn ich die Tastatur nach dem Booten dranstecke.

    Ganz einfach:

    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = objGet("winmgmts:\\localhost\root\CIMV2")
    send("{NUMLOCK off}")
    while 1
    $colItem = $objWMIService.ExecQuery("SELECT * FROM Win32_Keyboard")

    [/autoit] [autoit][/autoit] [autoit]

    ;send("{NUMLOCK off}") muss er ja nich dauernd senden oder?

    [/autoit] [autoit][/autoit] [autoit]

    For $element in $colItem

    [/autoit] [autoit][/autoit] [autoit]

    if $element.DeviceID == "DeviceID" then ; Geräteinstanzerkennung der Tastatur statt DeviceID eintragen!
    send("{NUMLOCK on}")
    endif
    Next
    sleep(100)
    WEnd

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Das würde aber heißen, dass das Script immer läuft. Gibt es nicht auch eine Möglichkeit, das Script zu starten, wenn an den USB - Port was drangesteckt wird? Das würde mir noch besser gefallen. Aber funktionieren würde es auch so.

  • na ich weiss nicht, irgendwas muss ja kontrollieren ob ein gerät angeschlossen ist oder nicht :)

    schaust halt mal wie viel performance das script im "leerlauf" braucht ansonsten halt den sleep anpassen

    aber performance technisch sollte das kein problem sein ...

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Hab das jetzt mal 'ne Weile getestet. Eigentlich reicht das so aus, wie es ist.
    Vielen Dank an FireFlyer und alle die mitgegrübelt haben...
    Gruß amsoem