Bei dem Auslesen der
DirectX-Version aus der Registry würde mich jetzt eins interessieren. Deine Funktion würde bei mir 9.0 ergeben. Aber einerseits ist doch sehr wesentlich, welche Version es genau ist (aktuell ist, was
DirectX 9 angeht, ja 9.0c bzw. 9.0L), und das scheint da irgendwie nicht drin zu stehen, sondern in Version (da kommt bei mir 4.09.00.0904 raus, das dürfte 9.0c entsprechen), und andererseits habe ich ja nicht nur
DirectX 9L, sondern auch
DirectX 10 installiert. dxdiag.exe gibt dementsprechend auch korrekt Version 10 aus.