Après avoir lu ceci, vous pouvez utiliser asp pour modifier le registre.
Avez-vous entendu parler du fameux WSH ? C'est l'abréviation de Windows Script Host. WSH est une instruction de script de la plateforme Windows. Sa fonction est très puissante, et elle utilise également les langages de script JScript et VBScript avec une syntaxe simple, facile à apprendre et à utiliser, et des fonctions puissantes. réaliser ses excellentes fonctions. En plus de modifier le registre présenté dans cet article, il peut également accéder aux fichiers Excel et communiquer avec le réseau. Bien entendu, son plus grand avantage est qu'il peut communiquer avec le système d'exploitation, et la modification du registre est uniquement. un moyen pour lui de communiquer avec le système d’exploitation. La pointe de l’iceberg. C'est en raison de ses nombreux avantages et de sa praticité qu'il est privilégié par de nombreux utilisateurs de Windows. Cet article vous le présentera afin que vous puissiez apprécier l'élégance de WSH.
L'extension du fichier programme WSH écrit en VBScript est .vbs. Le programme de script est interprété et exécuté par le fichier wscript.exe dans l'interface fenêtre et par le fichier cscript.exe dans l'interface caractère. Le format de commande est : nom de fichier cscript. .
Pour créer un objet et utiliser VBScript pour modifier le registre, vous devez d'abord créer un objet pouvant communiquer avec le système d'exploitation, puis utiliser diverses méthodes de l'objet pour faire fonctionner le registre. La méthode et le format de création de cet objet sont les suivants. :
Registre des opérations Dim
Définir OperationRegistry=WScript.CreateObject("WScript.Shell")
Le code ci-dessus crée un objet OperationRegistry qui peut communiquer avec le système d'exploitation.
Méthodes des objets Avoir l'objet ci-dessus ne signifie pas que nous pouvons immédiatement faire fonctionner le registre. Nous devons également comprendre plusieurs méthodes importantes de cet objet pour faire fonctionner le registre.
1. Opération RegRead pour lire le registre
2. Opération d'écriture RegWrite dans le registre
3. Opération de suppression RegDelete sur le registre
De plus, WSH dispose également de deux méthodes générales :
WScript.Echo() est utilisé pour afficher une chaîne d'informations textuelles, ce qui équivaut à MsgBox() en VB.
Wscript.Quit() est utilisé pour quitter le programme VBScript.
Les paramètres de la méthode nécessitent des paramètres pour les trois opérations ci-dessus RegRead, RegWrite et RegDelete, et le nombre et la forme des paramètres pour ces opérations sont différents. Ci-dessous, je parlerai de l'un de leurs paramètres communs et essentiels :
Ce paramètre peut être appelé « paramètre de chemin », qui comprend la clé racine, le chemin de la clé primaire et la valeur de la clé. La méthode d'expression de chaque partie est la suivante :
Clé racine :
Il existe deux manières de représenter les clés racine.
Méthode 1 : Utilisez directement sa chaîne dans le registre pour la représenter, par exemple :
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, etc. Méthode 2 : Utilisez les quatre lettres de l'abréviation pour la représenter. Les deux premières sont HK et les deux dernières sont les premières lettres du mot clé racine. comme:
La clé racine HKEY_CLASSES_ROOT s'exprime sous la forme : HKCR, la clé racine HKEY_CURRENT_USER peut s'exprimer sous la forme : HKCU, etc.
Chemin de clé primaire :
Le chemin de la clé primaire correspond à l'emplacement de la clé primaire de la clé cible dans le registre et chaque clé primaire est séparée par des caractères « ». Par exemple : "LogicielMicrosoftWindowsCurrentVersionPolicies"
Valeur clé :
Les paramètres clé-valeur suivent directement le chemin de la clé primaire. Par exemple, un chemin complet ressemble à ceci :
"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun"
Explication détaillée de la méthode
1. Interprétation détaillée de l'opération RegRead. L'opération RegRead est principalement utilisée pour lire la valeur par défaut ou les données de valeur de clé de la clé primaire dans le registre. Nous pouvons envoyer les données lues à la variable correspondante puis utiliser la fonction MsgBox(). en VB L'affichage des données permet de lire les données dans le registre (vous pouvez également utiliser la méthode Popup() de l'objet OperationRegistry pour envoyer les données lues à l'écran), par exemple :
'read.vbs (enregistrez le code suivant en tant que fichier read.vbs)
Registre des opérations Dim
Définir OperationRegistry=WScript.CreateObject("WScript.Shell")
Faible Read_Data1,Read_Data2
Read_Data1=OperationRegistry.RegRead("HKCR.xxf")
'Lire la valeur par défaut de la clé primaire .xxf sous la clé racine HKEY_CLASSES_ROOT, et envoyer les données à la variable Read_Data1
Read_Data2=OperationRegistry.RegRead("HKCR.xxfvalue")
'Lire les données de la clé de valeur sous la clé primaire .xxf et envoyer les données à la variable Read_Data2
MsgBox("Default="&Read_Data1&" value="&Read_Data2)
'Afficher les données lues
2. Explication détaillée de l'opération RegWrite. L'opération d'écriture RegWrite est principalement utilisée pour créer de nouvelles clés primaires ou valeurs de clé dans le registre et leur donner une valeur initiale. Cette opération peut également modifier les données des clés primaires ou valeurs de clé existantes. dans le registre. , la structure des paramètres de l'opération d'écriture est donc plus compliquée que celle de l'opération de lecture. Elle nécessite non seulement des paramètres de chemin, mais également une valeur initiale et des paramètres de type.
Regardons d'abord le paramètre de valeur initiale. Ce paramètre est essentiel pour les opérations d'écriture. Il peut être vide (null) mais ne peut pas être omis. Lors de la création d'une nouvelle clé primaire, le paramètre de valeur initiale est affecté à la valeur par défaut de la clé primaire. Lors de la création d'une nouvelle valeur de clé, le paramètre de valeur initiale devient les données initiales de la nouvelle valeur de clé. déterminé par le paramètre type . Il existe principalement trois types :
(1)REG_SZ : Type de caractère Ce type est le type par défaut.
(2)REG_DWORD : type à deux octets.
(3)REG_BINARY : type binaire.
Les premier et deuxième types des trois types ci-dessus sont les plus couramment utilisés. Le troisième type peut être remplacé par le deuxième type dans certaines situations. Les méthodes d'affectation de ces trois types sont les suivantes :
Pour le type REG_SZ : attribuez directement avec une chaîne, telle que "texte", "chaîne", etc. Pour le type REG_DWORD et le type REG_BINARY, il existe deux méthodes d'affectation.
i) Directement exprimé par des nombres décimaux, tels que : 0, 1, etc.
ii) Exprimé par des nombres hexadécimaux, tels que : 0x12, 0xff, etc. Voir exemple :
'écrire.vbs
Registre des opérations Dim
Définir OperationRegistry=WScript.CreateObject("WScript.Shell")
Par défaut=OperationRegistry.RegRead("HKCR")
'Obtenir une valeur nulle (null)
OperationRegistry.RegWrite "HKCR.xxf", par défaut
'Créez une nouvelle clé primaire.xxf sous la clé racine HKEY_CLASSES_ROOT et définissez sa valeur par défaut sur vide.
OperationRegistry.RegWrite "HKCR.xxf", "xxffile"
'Créez une nouvelle clé primaire .xxf sous la clé racine HKEY_CLASSES_ROOT et définissez sa valeur par défaut sur "xxffile"
OperationRegistry.RegWrite "HKCR.xxfvalue1", "string"
'Créez une nouvelle valeur de clé de chaîne value1 sous la clé primaire.xxf et définissez sa valeur initiale sur "string"
OperationRegistry.RegWrite "HKCR.xxfvalue2",1,"REG_DWORD"
'Créez une nouvelle valeur de clé REG_DWORD value2 sous la clé primaire.xxf et définissez sa valeur initiale sur 1.
OperationRegistry.RegWrite "HKCR.xxfvalue3",0Xff,"REG_BINARY"
'Créez une nouvelle valeur de clé binaire value3 sous la clé primaire .xxf et définissez sa valeur initiale sur hexadécimal ff
3. Explication détaillée de l'opération RegDelete. L'opération de suppression RegDelete est principalement utilisée pour supprimer la clé primaire ou la valeur de clé qui existe déjà dans le registre. Cette opération est extrêmement dangereuse. Elle peut supprimer sans pitié la clé primaire ou la valeur de clé. le registre. "Chop off" fonctionnera sans entrave, quelle que soit l'importance des données sous la clé, alors soyez prudent lorsque vous utilisez cette opération.
La forme des paramètres de l'opération de suppression est presque identique à la forme des paramètres de l'opération de lecture, à l'exception d'une petite différence, c'est-à-dire que l'opération de suppression n'a pas besoin d'envoyer la valeur de retour de l'opération à une certaine variable, par exemple :
'supprimer.vbs
Registre des opérations Dim
Définir OperationRegistry=WScript.CreateObject("WScript.Shell")
OperationRegistry.RegRead("HKCR.xxfvalue")
'Supprimez la valeur de la clé de valeur sous la clé primaire .xxf
OperationRegistry.RegRead("HKCR.xxf")
'Supprimez la clé primaire .xxf sous la clé racine HKEY_CLASSES_ROOT. Il est important de souligner que ne modifiez pas les clés primaires ou les valeurs de clé qui existent déjà dans le registre, et encore moins les supprimez, en raison d'une écriture ou d'une suppression incorrecte de le registre est sérieux. Cela provoquera un crash du système. Si vous voulez vraiment faire cela, veuillez faire une sauvegarde du registre !
Exemples d'applications
1. Lisez le « nom de l'ordinateur » de cette machine
'ReadComputerName.vbs
Dim ReadComputerName
Définir ReadComputerName=WScript.CreateObject("WScript.Shell")
Dim Nom de l'ordinateur, RegPath
RegPath="HKLMSystemCurrentControlSetControlComputerNameComputerNameComputerName"
Nom de l'ordinateur=ReadComputerName.RegRead(RegPath)
MsgBox("Nom de l'ordinateur"&Nom de l'ordinateur)
2. Cachez la petite flèche sur l'icône de raccourci
'Caché.vbs
Dim HiddenArrowIcône
Définir HiddenArrowIcon=WScript.CreateObject("WScript.Shell")
Dim RegPath1,RegPath2
RegPath1="HKCRlnkfileIsShortCut"
RegPath2="HKCRpiffileIsShortCut"
HiddenArrowIcon.RegDelete(RegPath1)
HiddenArrowIcon.RegDelete(RegPath2)
3. Transformez le menu « Démarrer »
'ChangeStartMenu.vbs
DimChangeStartMenu
Définir ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
Type_Name="REG_DWORD"
Données_clés = 1
StartMenu_Run="NoRun"
StartMenu_Find="Aucune recherche"
StartMenu_Close="NonFerme"
Sous-Changement (Argument)
ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name
MsgBox("Succès !")
Fin du sous-marin
Call Change(StartMenu_Run) 'Désactivez la fonction "Exécuter" dans le menu "Démarrer"
Call Change(StartMenu_Find) 'Désactivez la fonction "Rechercher" dans le menu "Démarrer"
Call Change(StartMenu_Close) 'Désactivez la fonction "Arrêter le système" dans le menu "Démarrer"
4. Ajoutez un programme à démarrage automatique à Windows. Ce programme peut s'exécuter automatiquement lorsque l'ordinateur est allumé.
'AddAutoRunProgram.vbs
'Supposons que le programme se trouve dans le dossier c:myfile et que le nom du fichier est autorun.exe
Dim Programme d'exécution automatique
Définir AutoRunProgram=WScript.CreateObject("WScript.Shell")
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
Type_Name="REG_SZ"
Key_Name="Exécution automatique"
Key_Data="C:Monfichierautorun.exe"
'Le chemin complet du fichier du programme à démarrage automatique
AutoRunProgram.Write RegPath&Key_Name,Key_Data,Type_Name
'Ajoutez le programme à démarrage automatique autorun.exe dans le groupe de démarrage
MsgBox("Succès !")