~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période. Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes. ~ Rechercher ~
~ Annuaire VB ~
~ Partenaires ~
|
Procédure : AjoutExtension Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _ (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" _ (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, _ ByVal lpData As String, ByVal cbData As Long) As Long ' Déclarations des constantes Private Const HKEY_CLASSES_ROOT = &H80000000 Private Const MAX_PATH = 256 Private Const REG_SZ = 1 Private Sub AjoutExtension(stCourt As String, stLong As String, stExt As String, stChemin As String) ' Ajout d'une association extension/application. Permet de lancer l'application ' automatiquement depuis l'explorateur en double-cliquant sur un fichier associé. ' stCourt est le nom court de l'application (pas d'espace de préférence) ' stLong est le nom "normal" de l'application ' stExt est l'extension à associer (du type .XXX, ne pas oublier le point) ' stChemin est la ligne de commande à exécuter (chemin complet et argument à la fin du type %1) ' Exemple d'utilisation : ' AjoutExtension "WRead","Windows File Reader",".wfr","D:\Outils\WRead\wread.exe %1" Dim stNomCle As String, stValeur As String Dim lgRep As Long, lgHnd As Long ' Création d'une branche pour l'application stNomCle = stCourt stValeur = stLong lgRep = RegCreateKey(HKEY_CLASSES_ROOT, stNomCle, lgHnd) lgRep = RegSetValue(lgHnd, vbNullString, REG_SZ, stValeur, 0) ' Association de l'extension à l'application stNomCle = stExt stValeur = stCourt lgRep = RegCreateKey(HKEY_CLASSES_ROOT, stNomCle, lgHnd) lgRep = RegSetValue(lgHnd, vbNullString, REG_SZ, stValeur, 0) ' Ajout de la ligne de commande à exécuter pour l'application/extension stNomCle = stCourt stValeur = stChemin lgRep = RegCreateKey(HKEY_CLASSES_ROOT, stNomCle, lgHnd) lgRep = RegSetValue(lgHnd, "shell\open\command", REG_SZ, stValeur, MAX_PATH) End Sub |