Faire les déclaration suivantes dans un MODULE:
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_LOCAL_MACHINE = &H80000002
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hkey&, ByVal lpszSubKey$, lphKey&) As Long
Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hkey&, ByVal lpszSubKey$, ByVal fdwType&, ByVal lpszValue$, ByVal dwLength&) As Long
Public Const MAX_PATH = 256&
Public Const REG_SZ = 1
Source / Exemple :
Sub CréationAssociation()
Dim NomClef As String
Dim ValeurClef As String
Dim RetVal As Long
Dim ClefHandle As Long
NomClef = "Software" & NomLogiciel ' ATTENTION: il y a un "backslash" entre "Software" et Nomlogiciel (inverse de "/", mais ça ne s'affiche pas sur ce site !?)
ValeurClef = CheminEXE
RetVal = RegCreateKey(HKEY_LOCAL_MACHINE, NomClef, ClefHandle)
RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
NomClef = NomLogiciel
ValeurClef = TypeFichier
RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
NomClef = Extension
ValeurClef = NomLogiciel
RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
RetVal = RegSetValue(ClefHandle, "", REG_SZ, ValeurClef, 0&)
NomClef = NomLogiciel
ValeurClef = CheminEXE & " ""%1"""
RetVal = RegCreateKey(HKEY_CLASSES_ROOT, NomClef, ClefHandle)
RetVal = RegSetValue(ClefHandle, "shellopencommand", REG_SZ, ValeurClef, MAX_PATH)
ValeurClef = CheminIcône & ",0"
RetVal = RegSetValue(ClefHandle, "DefaultIcon", REG_SZ, ValeurClef, MAX_PATH)
End Sub
Conclusion :
Les Variables à définir soi-même sont:
NomLogiciel: Exemple: "Mon logiciel"
CheminEXE: Exemple: "C:MonLogiciel.exe"
TypeFichier: Exemple: "Document Mon Logiciel"
Extension: Exemple: ".log"
CheminIcône: Exemple: "C:MonLogiciel.ico"
Et voilà ! Exécutez la fonction lors du (premier) lancement de votre application et le tour est joué.
Deux trucs:
- pour obtenir le chemin de l'exe, si vous distribuez vos applications, utilisez la propriété "App.Path"
- pour connaître le chemin du fichier qui a ouvert votre application (double-clic sur un fichier don l'extension est celle définie ci-dessus), utilisez la variable système "Command()" (CheminFichier = Command()".
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.