GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire les 11 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Claude BELLAMY
Le #9845421
Dans le message news:ccdqtb$pgl$ ,
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"...



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 *

HD
Le #9845411
> 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.



Un grand MERCI à toi Jean-claude.
--
@+
HD
Cyrille Szymanski
Le #9845341
On 2004-07-06, 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.



Un grand MERCI à toi Jean-claude.



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
HD
Le #9845311
Et comment fonctionne le lancement des liens vers un fichier? Je ne comprend
rien aux données de la BdR pour les fichiers .lnk

--
@+
HD
Jean-Claude BELLAMY
Le #9845281
Dans le message news:ccj38t$2bbg$ ,
HD
Et comment fonctionne le lancement des liens vers un fichier? Je ne
comprend rien aux données de la BdR pour les fichiers .lnk



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 *

Publicité
Suivre les réponses
Poster une réponse
Anonyme