HKEY_CLASSES_ROOT et exécution de .com
Le
HD
Bonjour,
L'exécution d'un fichier .com par double-click est lancé grâce à la
correspondance entre l'extension .com et le programme à utiliser pour cette
extension. Ces infos se trouvent dans la base de registre dans la sous clé
"HKEY_CLASSES_ROOT / .com" qui nous donne la donnée "comfile" puis la sous
clé "HKEY_CLASSES_ROOT / comfile". Mais sous cette dernière clé on trouve
dans "shell / open / command" la valeur "%1 %" sans avoir le nom du
programme qui permet le lancement des ".com" . Quel est ce programme qui
doit être implicite car non précisé?
Il y'a la même chose pour les "exefile"
Merci d'avance pour votre aide.
--
@+
HD
L'exécution d'un fichier .com par double-click est lancé grâce à la
correspondance entre l'extension .com et le programme à utiliser pour cette
extension. Ces infos se trouvent dans la base de registre dans la sous clé
"HKEY_CLASSES_ROOT / .com" qui nous donne la donnée "comfile" puis la sous
clé "HKEY_CLASSES_ROOT / comfile". Mais sous cette dernière clé on trouve
dans "shell / open / command" la valeur "%1 %" sans avoir le nom du
programme qui permet le lancement des ".com" . Quel est ce programme qui
doit être implicite car non précisé?
Il y'a la même chose pour les "exefile"
Merci d'avance pour votre aide.
--
@+
HD

Poser une question


HD
C'est pourtant clair ! ;-)
Le programme associé à un fichier .exe , .com, .bat, .cmd, ... c'est le
fichier LUI-MÊME !
D'où le "%1" qui représente le fichier, suivi du "%*" qui représente
l'ensemble des paramètres éventuels.
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *
Un grand MERCI à toi Jean-claude.
--
@+
HD
S'il fallait un EXE pour lancer d'autres EXE, qui lancerait le
lanceur ?
C'est un peu plus compliqué que cela : il y a plusieurs types d'EXE.
Les COM, SCR... c'est autre chose. Et enfin les BAT sont interprétés
par command.com (qui est un EXE ou un COM, ou par cmd.exe, suivant la
version de Windows). Chacun a sa propre section de lanceur. Et pour
simplifier la chose, tout ça dépend de la version de Windows.
--
cns
rien aux données de la BdR pour les fichiers .lnk
--
@+
HD
HD
Effectivement, le traitement des fichiers à extension ".lnk" est
radicalement différent des autres extensions.
La clef HKEY_CLASSES_ROOTlnkfile ne possède pas la classique chaine
"shellopencommand",
par contre on y trouve une sous-clef
"CLSID".
Cela indique que ce type de fichier doit être traité par un Contrôle
ActiveX,
dont l'ID est "{00021401-0000-0000-C000-000000000046}",
et si on examine la clef :
HKEY_CLASSES_ROOTCLSID{00021401-0000-0000-C000-000000000046}
on y trouve la sous-clef habituelle "InProcServer32" qui donne le nom du
fichier de ce contrôle :
"shell32.dll"
C'est à cette DLL que le shell (explorer.exe) va passer le nom du fichier
raccourci, puis la DLL va lire son contenu et en déduire le fichier réel à
ouvrir (et l'application associée éventuelle)
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *