Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Menu contextuel d'explorer.exe

7 réponses
Avatar
Decfi
Bonjour,

J'ai trouvé dans ce groupe de discussion un sujet sur le menu contextuel
d'explorer.exe pour VISTA.
Il explique bien comment voir et/ou désactiver une extension.
Mais comment ajouter une ligne ?
Je voudrais ajouter une commande permanente au menu contextuel
d'explorer.exe (celui de SEVEN) , (par ex. un peu comme "notepad++") ?
Si il le faut je peux écrire une DLL en "C++ Qt ou VS2008", mais que faut-il
mettre dedans ?

Merci d'avance.

7 réponses

Avatar
Jean-Claude BELLAMY
"Decfi" a écrit dans le message de groupe
de discussion :
Bonjour,

J'ai trouvé dans ce groupe de discussion un sujet sur le menu contextuel
d'explorer.exe pour VISTA.
Il explique bien comment voir et/ou désactiver une extension.
Mais comment ajouter une ligne ?



De la même façon !!!!

Il suffit de faire fonctionner ses petites cellules grises comme dit mon ami
Hercule Poirot ! ;-)
Et de faire appel à l'analogie, "clef de l'Univers" comme disait mon autre
ami Pythagore ...


Si pour supprimer une action contextuelle liée à une extension il faut et il
suffit de supprimer la clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>

pour en ajouter une il faut et il suffit de créer une clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>
avec comme valeur par défaut le nom de l'item
apparaissant dans le menu contextuel

et une sous-clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>command
avec comme valeur par défaut la commande associée, du style :
"xxxxxxxxxxxnom-de-l'exécutable-ou-script" "%1"
%1 étant le paramètre formel qui contiendra
le nom du fichier sélectionné


Je voudrais ajouter une commande permanente au menu contextuel
d'explorer.exe (celui de SEVEN) , (par ex. un peu comme "notepad++") ?
Si il le faut je peux écrire une DLL en "C++ Qt ou VS2008", mais que
faut-il mettre dedans ?



Ce n'est pas une DLL qui fera ça !!!!!

Sauf si tu es hyper-shadok, et faisant tien le proverbe
"Pourquoi faire simple quand on peut faire compliqué?"
;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Avatar
Decfi
merci Jean-Claude,

Mon problème n'est pas d'écrire dans la BDR , mais de savoir et surtout
comprendre ce que signifie chaque "rubrique".
J'ai pris l'exemple de "Notepad++", non pas pour l'écriture dans la BDR,
mais parce qu'il fait ce que je voudrais refaire :
c-à-d :
-exécuter un logiciel perso. avec le nom de fichier courant comme paramètre.

Plusieurs logiciels peuvent s'exécuter de cette façon à partir du menu
contextuel d'explorer.exe, et bien sur je ne souhaite pas me restreindre à
telle ou telle extension de fichier.
Suis-je plus clair ?


"Jean-Claude BELLAMY" a écrit dans le
message de groupe de discussion :


"Decfi" a écrit dans le message de
groupe de discussion :
Bonjour,

J'ai trouvé dans ce groupe de discussion un sujet sur le menu contextuel
d'explorer.exe pour VISTA.
Il explique bien comment voir et/ou désactiver une extension.
Mais comment ajouter une ligne ?



De la même façon !!!!

Il suffit de faire fonctionner ses petites cellules grises comme dit mon
ami Hercule Poirot ! ;-)
Et de faire appel à l'analogie, "clef de l'Univers" comme disait mon autre
ami Pythagore ...


Si pour supprimer une action contextuelle liée à une extension il faut et
il suffit de supprimer la clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>

pour en ajouter une il faut et il suffit de créer une clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>
avec comme valeur par défaut le nom de l'item
apparaissant dans le menu contextuel

et une sous-clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>command
avec comme valeur par défaut la commande associée, du style :
"xxxxxxxxxxxnom-de-l'exécutable-ou-script" "%1"
%1 étant le paramètre formel qui contiendra
le nom du fichier sélectionné


Je voudrais ajouter une commande permanente au menu contextuel
d'explorer.exe (celui de SEVEN) , (par ex. un peu comme "notepad++") ?
Si il le faut je peux écrire une DLL en "C++ Qt ou VS2008", mais que
faut-il mettre dedans ?



Ce n'est pas une DLL qui fera ça !!!!!

Sauf si tu es hyper-shadok, et faisant tien le proverbe
"Pourquoi faire simple quand on peut faire compliqué?"
;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr




Avatar
Decfi
Pour une extension précise, no problemo, mais j'ai besoin de cette commande
quelque soit l'extension.
J'ai lu (et relu) la ruche HKCR* de mon (Windows 7) que je suppose être
ma cible, mais je ne comprends rien à son contenu !
(merci de continuer à éclairer ma lanterne)


"Jean-Claude BELLAMY" a écrit dans le
message de groupe de discussion :


"Decfi" a écrit dans le message de
groupe de discussion :
Bonjour,

J'ai trouvé dans ce groupe de discussion un sujet sur le menu contextuel
d'explorer.exe pour VISTA.
Il explique bien comment voir et/ou désactiver une extension.
Mais comment ajouter une ligne ?



De la même façon !!!!

Il suffit de faire fonctionner ses petites cellules grises comme dit mon
ami Hercule Poirot ! ;-)
Et de faire appel à l'analogie, "clef de l'Univers" comme disait mon autre
ami Pythagore ...


Si pour supprimer une action contextuelle liée à une extension il faut et
il suffit de supprimer la clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>

pour en ajouter une il faut et il suffit de créer une clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>
avec comme valeur par défaut le nom de l'item
apparaissant dans le menu contextuel

et une sous-clef
HKCR<nom-de-l'extension>Shell<nom-de-l'action>command
avec comme valeur par défaut la commande associée, du style :
"xxxxxxxxxxxnom-de-l'exécutable-ou-script" "%1"
%1 étant le paramètre formel qui contiendra
le nom du fichier sélectionné


Je voudrais ajouter une commande permanente au menu contextuel
d'explorer.exe (celui de SEVEN) , (par ex. un peu comme "notepad++") ?
Si il le faut je peux écrire une DLL en "C++ Qt ou VS2008", mais que
faut-il mettre dedans ?



Ce n'est pas une DLL qui fera ça !!!!!

Sauf si tu es hyper-shadok, et faisant tien le proverbe
"Pourquoi faire simple quand on peut faire compliqué?"
;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr




Avatar
Jean-Claude BELLAMY
"Decfi" a écrit dans le message de groupe
de discussion :
merci Jean-Claude,

Mon problème n'est pas d'écrire dans la BDR , mais de savoir et surtout
comprendre ce que signifie chaque "rubrique".


??????

Rubrique de quoi?
De la BDR ?
"Shell" est la sous-clef de HKCRnom-de-l'extension qui contient les actions
contextuelles
"Shellxxxxxxxxx" est la sous-clef d'une action donnée
"Shellxxxxxxxxxnom-de-commande" est la sous-clef contenant la
définition de l'action


J'ai pris l'exemple de "Notepad++", non pas pour l'écriture dans la BDR,
mais parce qu'il fait ce que je voudrais refaire :
c-à-d :
-exécuter un logiciel perso. avec le nom de fichier courant comme
paramètre.


Oui, et alors ?




Plusieurs logiciels peuvent s'exécuter de cette façon à partir du menu
contextuel d'explorer.exe, et bien sur je ne souhaite pas me restreindre à
telle ou telle extension de fichier.



Dans ce cas, au lieu d'une extension donnée, tu crées une sous-clef dans
HKCR*

Si cela fait de trop, tu dois RÉPÈTER l'ajout de clefs !

P.ex., si tu veux ouvrir les ".ini", ".txt", ".log" et ".cfg" avec "K:trucs
diversma glute.exe", il faut et il suffit de créer les clefs :
HKCRinifileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRinifileShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")


HKCRtxtfileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRtxtfileShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")


HKCRlogfileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRlogfileShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")


HKCRcfgfileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRcfgfileShellMa glutecommand
(valeur par défaut : "K:trucs diversma glute.exe" "%1")



et ainsi de suite ...


Ce côté répétitif et donc fastidieux peut être évité en utilisant un script
contenant une boucle.

P.ex. en VBS :
------------- couper ici -------------
assoc=array("inifile","txtfile","logfile","cfgfile","batfile","cmdfile")
Set shell = WScript.CreateObject("WScript.Shell")
for i = lbound(assoc) To Ubound(assoc)
Key="HKEY_CLASSES_ROOT" & assoc(i) & "shellMa glute"
shell.RegWrite Key,"Ouvrir avec Ma glute"
shell.RegWrite Key & "command", """K:trucs diversma glute.exe""
""%1"""
next
WScript.quit
------------- couper ici -------------

Suis-je plus clair ?


On ne peut pas dire !!!!!!!


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Avatar
Decfi
Déjà merci pour ces explications, mais si j'ai pris l'exemple de Notepad++,
c'est qu'il est disponible dans le menu contextuel <"quelque soit">
l'extension du fichier courant.
(même et surtout, si une nouvelle extension arrive).
C'est cela mon objectif.




"Jean-Claude BELLAMY" a écrit dans le
message de groupe de discussion : #4lh#

"Decfi" a écrit dans le message de
groupe de discussion :
merci Jean-Claude,

Mon problème n'est pas d'écrire dans la BDR , mais de savoir et surtout
comprendre ce que signifie chaque "rubrique".


??????

Rubrique de quoi?
De la BDR ?
"Shell" est la sous-clef de HKCRnom-de-l'extension qui contient les
actions contextuelles
"Shellxxxxxxxxx" est la sous-clef d'une action donnée
"Shellxxxxxxxxxnom-de-commande" est la sous-clef contenant la
définition de l'action


J'ai pris l'exemple de "Notepad++", non pas pour l'écriture dans la BDR,
mais parce qu'il fait ce que je voudrais refaire :
c-à-d :
-exécuter un logiciel perso. avec le nom de fichier courant comme
paramètre.


Oui, et alors ?




Plusieurs logiciels peuvent s'exécuter de cette façon à partir du menu
contextuel d'explorer.exe, et bien sur je ne souhaite pas me restreindre
à telle ou telle extension de fichier.



Dans ce cas, au lieu d'une extension donnée, tu crées une sous-clef dans
HKCR*

Si cela fait de trop, tu dois RÉPÈTER l'ajout de clefs !

P.ex., si tu veux ouvrir les ".ini", ".txt", ".log" et ".cfg" avec
"K:trucs diversma glute.exe", il faut et il suffit de créer les clefs :
HKCRinifileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRinifileShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")


HKCRtxtfileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRtxtfileShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")


HKCRlogfileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRlogfileShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")


HKCRcfgfileShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCRcfgfileShellMa glutecommand
(valeur par défaut : "K:trucs diversma glute.exe" "%1")



et ainsi de suite ...


Ce côté répétitif et donc fastidieux peut être évité en utilisant un
script contenant une boucle.

P.ex. en VBS :
------------- couper ici -------------
assoc=array("inifile","txtfile","logfile","cfgfile","batfile","cmdfile")
Set shell = WScript.CreateObject("WScript.Shell")
for i = lbound(assoc) To Ubound(assoc)
Key="HKEY_CLASSES_ROOT" & assoc(i) & "shellMa glute"
shell.RegWrite Key,"Ouvrir avec Ma glute"
shell.RegWrite Key & "command", """K:trucs diversma glute.exe""
""%1"""
next
WScript.quit
------------- couper ici -------------

Suis-je plus clair ?


On ne peut pas dire !!!!!!!


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr




Avatar
Jean-Claude BELLAMY
"Decfi" a écrit dans le message de groupe
de discussion :
Déjà merci pour ces explications, mais si j'ai pris l'exemple de
Notepad++, c'est qu'il est disponible dans le menu contextuel <"quelque
soit"> l'extension du fichier courant.
(même et surtout, si une nouvelle extension arrive).
C'est cela mon objectif.



Oui, j'ai bien compris, et d'ailleurs je t'avais répondu, mais tu ne sais
pas LIRE !!!

[...]
Plusieurs logiciels peuvent s'exécuter de cette façon à partir du menu
contextuel d'explorer.exe, et bien sur je ne souhaite pas me restreindre
à telle ou telle extension de fichier.







Ce à quoi je t'avais répondu :
>> Dans ce cas, au lieu d'une extension donnée, tu crées une sous-clef
dans HKCR*

Cosaque !!! ;-)

=>
HKCR*ShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCR*ShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Avatar
Decfi
J'y ai mis le temps, mais j'ai compris.
Ca marche impec.
Merci Jean-Claude




"Jean-Claude BELLAMY" a écrit dans le
message de groupe de discussion :

"Decfi" a écrit dans le message de
groupe de discussion :
Déjà merci pour ces explications, mais si j'ai pris l'exemple de
Notepad++, c'est qu'il est disponible dans le menu contextuel <"quelque
soit"> l'extension du fichier courant.
(même et surtout, si une nouvelle extension arrive).
C'est cela mon objectif.



Oui, j'ai bien compris, et d'ailleurs je t'avais répondu, mais tu ne sais
pas LIRE !!!

[...]
Plusieurs logiciels peuvent s'exécuter de cette façon à partir du menu
contextuel d'explorer.exe, et bien sur je ne souhaite pas me
restreindre à telle ou telle extension de fichier.







Ce à quoi je t'avais répondu :
>> Dans ce cas, au lieu d'une extension donnée, tu crées une sous-clef
dans HKCR*

Cosaque !!! ;-)

=>
HKCR*ShellMa glute
(valeur par défaut : "Ouvrir avec Ma glute")
HKCR*ShellMa glutecommand
(valeur par défaut : ""K:trucs diversma glute.exe" "%1")

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr