Dein Code dürfte deshalb nicht funz... äh, funktionieren

, weil es sich bei den Einträgen in besagtem Schlüssel nur um Werte (Values) handelt. Es gibt keine Schlüsses (Keys). Jedenfalls nicht bei mir. Du nimmst also nur
GetValueNames, und gehst dann in einer Schleife durch alle gefundenen Namen durch und liest für jeden den entsprechenden Eintrag aus (per
ReadString).
Anmerkung nebenbei: Ich persönlich würde andere, ins OS eingebaute Methoden empfehlen, um die installierten Schriftarten inkl. Dateinamen zu ermitteln, denn der Weg mit der Registry ist fehleranfällig und muss für jede Windows-Version angepasst werden.