Verrouiller le pavé numérique par VBScript
Plusieurs solutions si votre ordinateur s'obstine à s'ouvrir pavé numérique désactivé :
- agir en amont au niveau du lancement du DOS en modifiant le fichier config.sys
- modifier le démarrage de Windows en agissant sur les bases de registre
- insérer dans le dossier de démarrage, un script qui va modifier le verrouillage du pavé numérique dès le lancement de Windows.
Toutes ces modifications peuvent se faire manuellement, mais il peut être préférable de les faire automatiquement dans certains cas : grand nombre de machines à modifier, utilisateur peu expérimenté risquant de faire une erreur sur config.sys ou regedit...
Modifier config.sys
Pour faire en sorte que le DOS active le pavé numérique, il suffit de lui ajouter une ligne :
numlock=on.
pour faire la même chose par script, on ouvre le fichier config.sys en "appending", on lui ajoute la ligne de commande, et on le referme :
Set Fs=CreateObject("Scripting.FileSystemObject")
Set fich = fs.OpenTextFile("c:\config.sys", 8, True)
fich.Write vbCrLf & "numlock=on"
fich.close
Reste à ajouter quelques fioritures.
cliquez ici pour voir le texte complet
fichier vbs
fichier vbs zippé
Modifier les bases de registre (Windows NT)
Rappelons qu'une fausse manoeuvre à ce niveau peut compromettre gravement le fonctionnement de l’ordinateur.
Il est important de respecter scrupuleusement le mode opératoire indiqué ci-dessous et de noter consciencieusement toutes les modifications effectuées afin de pouvoir revenir à la configuration initiale.
Démarrer / Executer
Taper Regedit dans la zone d’entrée qui s’ouvre, puis OK
Ouvrir le dossier Poste de Travail / HKEY_CURRENT_USER / Control Panel / Keyboard
Double cliquer sur InitialKeyboardIndicators
Prendre soin de noter la valeur inscrite dans la zone de saisie " Données de la valeur " pour pouvoir la rétablir en cas de besoin,
Saisir 2 dans la zone de saisie.
Ouvrir le dossier Poste de Travail / HKEY _USERS / .DEFAULT / Control Panel / Keyboard
Double cliquer sur InitialKeyboardIndicators
Prendre soin de noter la valeur inscrite dans la zone de saisie " Données de la valeur "
Saisir 2 dans la zone de saisie.
Quitter l’éditeur de registre, relancer l’ordinateur.
Pour automatiser ces opérations par VBScript, on utilise les méthodes RegRead et RegWrite de l'objet Shell (lire et écrire des clés dans les bases de registre) :
Set Sh = WScript.CreateObject("WScript.Shell")
on error resume next
cle1 = Sh.RegRead("HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators")
cle2 = Sh.RegRead("HKEY_USERS\.DEFAULT\Control Panel\Keyboard\InitialKeyboardIndicators")
if cle1="" or cle2="" then
WScript.echo "configuration non compatible"
WScript.Quit
end if
on error goto 0
Sh.RegWrite "HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators","2"
Sh.RegWrite "HKEY_USERS\.DEFAULT\Control Panel\Keyboard\InitialKeyboardIndicators","2"
MsgBox "Rebootez l'ordinateur pour tester la modification"
cliquez ici pour voir le texte complet
fichier vbs
fichier vbs zippé
Placer un script dans le dossier de démarrage
Un script qui simule la frappe de la touche numlock :
Set scrHst = Wscript.CreateObject("WScript.Shell")
scrHst.SendKeys "{NUMLOCK}"
Set scrHst = nothing
Pour les très paresseux, on peut même créer un script qui va se charger de l'opération :
Set scrHst = Wscript.CreateObject("WScript.Shell")
Set fs=CreateObject("Scripting.FileSystemObject")
emplacement = scrHst.SpecialFolders("StartUp")
Set fich = fs.OpenTextFile(emplacement & "\pave_numerique.vbs", 2, True)
fich.WriteLine "Set scrHst = Wscript.CreateObject(""WScript.Shell"") "
fich.WriteLine "scrHst.SendKeys ""{NUMLOCK}"""
fich.WriteLine "Set scrHst = nothing"
fich.close
set fich=nothing
set fs=nothing
set scrHst=nothing
MsgBox "le script pave_numerique.vbs a été installé dans le répertoire " & emplacement
MsgBox "Rebootez l'ordinateur pour tester la modification"
Attention, ce script est aveugle, il se contente de frapper sur la touche numlock au démarrage de Windows, sans se demander si le pavé était activé ou non. Si un autre processus a activé le pavé numérique, le script va le désactiver !
cliquez ici pour voir le texte complet
fichier vbs
fichier vbs zippé