Cette fonction retourne la liste des applications (en fait la liste des commandes Shell) pour lancer le type de fichier concerné (on fournit l'extension du fichier).
Cette liste correspond aux applications présentes dans le menu contextuel "Ouvrir avec..." d'Explorer lorsque l'on fait un clic droit sur un fichier.
Source / Exemple :
Public Function GetOpenWithApp(ByVal Extension As String) As List(Of String)
Dim hsubKeyExt, hSubKeyApp As RegistryKey
GetOpenWithApp = New List(Of String)
'Récupération des noms d'applications liés à l'extension
hsubKeyExt = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\." & Extension & "\OpenWithList")
If Not hsubKeyExt Is Nothing Then
Dim sApplication As String
Dim Cles() As String = hsubKeyExt.GetValueNames
For Each sApplication In Cles
sApplication = hsubKeyExt.GetValue(sApplication)
'Récupération de la commande pour lancer cette application
hSubKeyApp = Registry.ClassesRoot.OpenSubKey("Applications\" & sApplication & "\shell\open\command")
If Not hSubKeyApp Is Nothing Then
GetOpenWithApp.Add(hSubKeyApp.GetValue(""))
hSubKeyApp.Close()
End If
Next
hsubKeyExt.Close()
End If
End Function
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.