Bonjour,
Je cherche à comprendre comment sous Windows 7, on utilise la base de registre pour déterminer quelle application est associée (par défaut) à l'extension d'un fichier.
J'ai déjà réalisé ce travail pour Windows XP en prenant 4 fichiers témoins : .odt, .pdf, .bmp, .png
Portés sous Windows 7, seuls les 2 premiers "fonctionnent" : visiblement à ce niveau, il y a du changement.
Sous XP,
je cherche l'extension dans HKEY_CLASSES_ROOT :
. if reg.OpenKey(sExt,False) then sValeur := reg.ReadString('');
Une fois la valeur de la clé déterminée, je cherche toujours dans HKEY_CLASSES_ROOT :
. if reg.OpenKey(sValeur+'\Shell\Open\Command',False) then sCommand := reg.ReadString('');
Et j'obtiens, 2 types de valeurs
* Ou alors on a une ligne de commande genre :
. "C:\Program Files\Internet Explorer\IEXPLORE.EXE" -nohome
* Ou alors on a une ligne genre :
. rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen %1
Avec parfois, dans ce dernier cas, certaines valeurs (de type REG_EXPAND_SZ) qui utilisent les variables d'environnement, tel que "%SYSTEM%", qu'il est nécessaire de remplacer avant de les utiliser en ligne de commande.
Sous Windows 7,
j'ai suivi avec RegEdit les 4 clés et je n'arrive pas à modéliser le "système" au point que je me demande comment 2 arrivent à fonctionner avec l'approche XP.
Est-ce que quelqu'un(e) peut m'indiquer pour Windows 7, un document clair, si possible concis, mais surtout exhaustif tel que l'on peut en trouver pour XP. Pour l'instant, en résumé :
Merci.File extension KEY description:
Default file extension used by Windows registry is .reg, but in Windows 7 is associated .key file extension with registry too.
Cordialement. Gilles
Partager