Cet article vous explique comment ajouter des commandes d'inscription et de désinscription au menu contextuel pour les fichiers DLL et OCX sous Windows Vista, 7, 8 et 10.
Pour enregistrer un fichier DLL ou OCX, vous devez généralement exécuter regsvr32.exe à partir d'un élevé Invite de commandes. L'enregistrement des DLL système à partir d'un état non élevé peut provoquer une erreur. Par exemple, essayez d'enregistrer le module système JScript.dll à partir de Démarrer, zone de recherche (c'est-à-dire sans l'élever). Vous verrez l'erreur 0x80004005 ou 0x80007005 (« L'ACCÈS EST REFUSÉ ») lorsque vous le faites.
Méthode 1: enregistrer les DLL via le menu contextuel – verbe « runas »
Pour ajouter le S'inscrire commande dans le menu contextuel qui exécutera le Regsvr32.exe commande sous des droits élevés, vous pouvez utiliser le courir comme verbe. Voici un fichier REG que j'ai créé, ajoute le verbe runas pour les types de fichiers DLL et OCX dans les clés de registre suivantes :
HKEY_CLASSES_ROOT\dllfile\runas. HKEY_CLASSES_ROOT\ocxfile\runas
- Télécharger le fichier register_runas.reg et enregistrez sur le bureau.
- Cliquez avec le bouton droit sur le fichier et choisissez Fusionner.
- Cliquez sur Oui lorsqu'on vous demande une confirmation.
Vous devriez maintenant voir le S'inscrire (en tant qu'administrateur) dans le menu contextuel pour les types de fichiers DLL et OCX.
Méthode 2: définissez Regsvr32.exe pour qu'il s'exécute toujours avec élévation de privilèges
Comme vous ne pouvez utiliser le verbe "runas" que pour un seul élément, pour ajouter une commande "Unregister", vous devez utiliser une méthode différente de celle ci-dessus. Voici une autre façon d'ajouter les commandes « Inscrire » et « Désinscrire » au menu contextuel des fichiers DLL, sans utiliser le verbe « runas ».
Cette méthode indique au système de toujours exécuter Regsvr32.exe avec élévation de privilèges, en ajoutant un AppCompatFlags\Layers
entrée de registre et implémente les entrées de menu contextuel « Inscrire » et « Désinscrire » de la manière habituelle.
Fichier REG
Éditeur de registre Windows version 5.00 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\Windows\\System32\\regsvr32.exe"="~ RUNASADMIN" [HKEY_CLASSES_ROOT\DllFile\Shell\Register] "HasLUAShield"="" [HKEY_CLASSES_ROOT\DllFile\Shell\Register\command] @="C:\\Windows\\System32\\regsvr32.exe \"%1\"" [HKEY_CLASSES_ROOT\DllFile\Shell\Unregister] "HasLUAShield"="" [HKEY_CLASSES_ROOT\DllFile\Shell\Unregister\command] @="C:\\Windows\\System32\\regsvr32.exe -u \"%1\"" [HKEY_CLASSES_ROOT\OcxFile\Shell\Register] "HasLUAShield"="" [HKEY_CLASSES_ROOT\OcxFile\Shell\Register\command] @="C:\\Windows\\System32\\regsvr32.exe \"%1\"" [HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister] "HasLUAShield"="" [HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister\command] @="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""
Copiez les lignes ci-dessus dans le Bloc-notes et enregistrez le fichier avec l'extension .reg. Double-cliquez pour exécuter le fichier .reg. Cela ajoute les commandes « Inscrire » et « Désinscrire » au menu contextuel des fichiers DLL et OCX.
Pour supprimer (annuler) les commandes Register et Unregister du menu contextuel, utilisez le fichier .reg suivant :
Éditeur de registre Windows version 5.00 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\Windows\\System32\\regsvr32.exe"=- [-HKEY_CLASSES_ROOT\DllFile\Shell\Register] [-HKEY_CLASSES_ROOT\DllFile\Shell\Unregister] [-HKEY_CLASSES_ROOT\OcxFile\Shell\Register] [-HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister]
C'est ça!
Une petite demande: si vous avez aimé ce post, merci de le partager ?
Un "minuscule" partage de votre part aiderait beaucoup à la croissance de ce blog. Quelques bonnes suggestions :- Épinglez-le !
- Partagez-le sur votre blog préféré + Facebook, Reddit
- Tweetez-le !