Registry enumerieren

13/06/2011 - 20:13 von Wolfgang Badura | Report spam
Hallo!

Ich möchte alle registrierten Dateierweiterungen in HKEY_CLASSES_ROOT
enumerieren und in einer Datatable speichern.

Wie stelle ich das an, da ich ja keine spezielle Erweiterung abfragen
möchte,
sondern eben alle mit Ihrem Standardwert ermitteln möchte.

Danke im Voraus für eine Hilfestellung.

Wolfgang
 

Lesen sie die antworten

#1 Armin Zingler
13/06/2011 - 20:32 | Warnen spam
Am 13.06.2011 20:13, schrieb Wolfgang Badura:
Hallo!

Ich möchte alle registrierten Dateierweiterungen in HKEY_CLASSES_ROOT
enumerieren und in einer Datatable speichern.

Wie stelle ich das an, da ich ja keine spezielle Erweiterung abfragen
möchte,
sondern eben alle mit Ihrem Standardwert ermitteln möchte.

Danke im Voraus für eine Hilfestellung.

Wolfgang




Hallo Wolfgang,

schön, mal wieder was von dir zu lesen.

Im Prinzip:

Dim names As String()
Dim dt As New DataTable

dt.Columns.Add("keyname")
dt.Columns.Add("defaultValue")

names = Microsoft.Win32.Registry.ClassesRoot.GetSubKeyNames

For Each Name As String In names
Dim subkey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Name)
Try
Dim defaultValue = subkey.GetValue(Nothing)

dt.Rows.Add(Name, defaultValue)
Finally
subkey.Close()
End Try
Next

Da unter HKCR nicht nur Erweiterungen gespeichert sind - siehst du ja per Regedit - musst
du noch wie gewünscht rausfiltern.


Freundliche Grüße nach Österreich!

Armin

Ähnliche fragen