That means determining if their version is 10, 10.1, 11 or 11.1.Īnother possibility is using the IDxDiagProvider COM object directly and browse through the IDxDiagContainer hierarchy it yields - this is what dxdiag.exe does internally. I need an answer that applies to DirectX 10 installs and up. The answer to this question yet again references the same registry key for DirectX 9 and lower ONLY.NET How to detect if DirectX 10 is supported? Even on a Windows 7 system with DirectX 11.1 installed, this registry key will never indicate an installed version greater than 9.0c The second answer references a registry key which only applies to DirectX 9 and lower.This is wrong, as Vista supports both DirectX 10 and 11 and Windows 7 supports DirectX 11 and 11.1. The first answer in this question says 'If Windows 7, DirectX = 11, if Windows Vista, DirectX = 10'.How to code to get direct X version on my machine in C#?.
As per the title, how can I check which version of DirectX a user has installed? Checking the FeatureLevel isn't enough, as my application can run on feature level 10.0, but requires that DirectX 11.1 be installed.