Ich habe mir meine Liste (surfe gerade mit Win98) angesehen und mir scheint, das sind alle Programme, die in irgendeiner Art und Weise eine "open"-Verknüpfung in der Registry haben.
Mit anderen Worten:
1. Registry zum Lesen öffnen, Schlüssel HKEY_CLASSES_ROOT.
2. Dateiendungen herausfischen (beginnen mit einem Punkt)
3. Den zugeordneten internen Schlüssel suchen.
4. Diesen öffnen und den Programmnamen heraussuchen, der unter "shell\open\command" eingetragen ist.
Dein Programm sollte dort zu sehen sein, sobald du eine eigene Dateiendung im System registriert.
Für all dies gibt es IMHO keine offiziell dokumentierte API, es sei denn, jemand kennt die Parameter-Liste für
Quelltext
1:
| rundll32.exe shell32.dll,OpenAs_RunDLL |
Das ist nämlich der Dialog.