Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment manipuler la base de registre ?
auteur : bbil

L'objet WshShell possède trois méthodes permettant de manipuler la base de registre :
  1. RegWrite : pour écrire dans la base de registre
  2. RegRead : pour lire une entrée de la base de registre
  3. RegDelete : pour effacer une clef ou sa valeur de la base de registre
Ces trois méthodes utilisent comme premier paramètre le nom de la clé concernée. Pour, construire ce nom, des abréviations peuvent être utilisées :

Nom de clé racine Abréviation
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG
Pour plus d'informations sur la base de registre, et quelques-unes des utilisations possible, voir :
la faq Windows XP : fr http://windows.developpez.com/faq/xp/index.php?rechercher=registre


Comment écrire dans la base de registre ?
auteur : bbil
Pour écrire dans la base de registre, on utilise la méthode RegWrite de l'objet WshShell
la documentation Microsoft nous décrit la fonction ainsi :

object.RegWrite(strName, anyValue [,strType])
Arguments

object
Objet WshShell.
strName Valeur de chaîne indiquant le nom de la clé, le nom de la valeur ou la valeur que vous voulez créer, ajouter ou modifier. anyValue Nom de la nouvelle clé que vous voulez créer, nom de la valeur que vous voulez ajouter à une clé existante ou nouvelle valeur que vous voulez assigner à un nom de valeur existant. strType Facultatif. Valeur de chaîne indiquant le type de données de la valeur


Le paramètre facultatif strType permet d'indiquer le type données :

Nom de clé racine strType
Chaîne REG_SZ
Chaîne REG_EXPAND_SZ
Nombre entier REG_DWORD
Nombre entier REG_BINARY
vb
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\dvp-faqvbs\montest",now
La fonction now renvoie ici la date et l'heure courante sous la forme d'une chaîne de caractères.


Comment lire la base de registre ?
auteur : bbil
La Méthode RegRead permet de lire la base de registre. Elle ne prend qu'un argument : le nom de la clé ( qui peu comporter des abréviations ..)
vb
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
msgbox WshShell.RegRead ("HKCU\Software\dvp-faqvbs\montest")

Comment supprimer une "valeur" où une clé de la base de registre ?
auteur : bbil
La méthode RegDelete permet d'effacer une entrée de la base de registre. Elle ne prend qu'un argument : le nom de la clé ( qui peu comporter des abréviations ..)
vb
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegDelete ("HKCU\Software\dvp-faqvbs\montest")

Cette même méthode permet aussi d'effacer une clé (en terminant le nom de la clé par un \):
vb
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegDelete ("HKCU\Software\dvp-faqvbs\")

Comment associer une extension à un programme ?
auteurs : Jean-Marc Rabilloud, Khorne
Le principe repose sur la création de plusieurs clés dans la base de registre. Une des méthodes est l'utilisation du Windows Script Host Object Model.
vb

Dim MaCle 
   
Set MaCle = CreateObject("WScript.Shell")
'nom de votre type de fichier
MaCle.RegWrite "HKEY_CLASSES_ROOT\Test Ext\", "Test Ext", "REG_SZ"
'commande a exécuter pour ouvrir les fichiers de ce type
MaCle.RegWrite "HKEY_CLASSES_ROOT\Test Ext\shell\open\command\", "C:\jmarc\FAQ\TestExt.exe %1", "REG_SZ"
'icone à utiliser pour représenter les fichiers de ce type, ici la troisième icone contenue dans TestExt.exe
'(la première icone a l'index 0)
MaCle.RegWrite "HKEY_CLASSES_ROOT\Test Ext\DefaultIcon\", "C:\jmarc\FAQ\TestExt.exe,2", "REG_SZ"

'extension correspondant à ce type de fichier
MaCle.RegWrite "HKEY_CLASSES_ROOT\.jmr\", "Test Ext", "REG_SZ"
Suite à l'application de ce script, tout fichier ayant une extension ".jmr" sera ouvert avec le programme TestExt.exe.


Comment désactiver le gestionnaire des tâches ou la séquence de touches Ctrl-Alt-Suppr ?
auteur : Khorne
Pour Windows 2000 et supérieur :
Cette astuce permet de désactiver ou d'activer le gestionnaire des tâches à partir du code de votre programme et donc, d'inhiber la séquence de touches Ctrl-Alt-Suppr.
Lorsque le gestionnaire est désactivé, le système renvoie un message d'avertissement (A utiliser avec précaution) :

Désactiver :
vb

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", "1"
    Set WshShell = Nothing
Activer :
vb

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", ""
    Set WshShell = Nothing

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2008  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com