How can I show the list of all programs associated with a file type?

c#, registry, wpf

Solution

First source

If you look in the registry under `HKEY_CLASSES_ROOT\.bmp`.

The `(Default)` value will show you the default associated program. In my case, this shows `Paint.Picture`, which links you to `HKEY_CLASSES_ROOT\Paint.Picture`.

Under `HKEY_CLASSES_ROOT\.bmp` you'll also find the subkey `OpenWithList` which contains subkeys to "Open With" applications.

Second source

Under `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts` you'll also find a list of fileextensions. Look for `.bmp`, a subkey `OpenWithList` exists there too. I think this source is what you need.

Problem

I am looking to build an open with list, just like in the windows context menu,for image files.So how could i get the list of all programs associated with a file type ?

Original source