That would be ALOT of work (thanks microsoft zzzz)...
First, you need to detect what system the user has http://support.microsoft.com/kb/307394
Version reporting back is on the list, except vista wich is 6.x.x.x.x (i belive it was, check it yourself since your using vista).
Then, you need to check if it uses vista, does it have vista sp1 (for dx10.1).
Then, you need to check wich hardware the user has, if vista sp1, does it support dx10.1 else it has to use dx10 if hw supports that, else dx9ex
Oh and you also have to check wich version of directx (highest supportet) is installed (if users is on vista, on winxp highest supportet is dx9 anyways).
But i dont see the point, its like "oh my god lets sell alot of hardware for the company's", and a new DX comes out every year wich requires new hardware to get something out of it.
For now, ill only use DX9 and DX10, they can take DX10.1 and whatever else they are planning and showe it where the sun dont shine (sry but its really annoying).
Its more work, alot more work, for programmers, will you use shader model 1_0, 2_0, 3_0, 4_0, 4_1 waaahtupppp! zzzzzz
Nothing more fun then sitting around making shaders for a couple of years.
Just noticed your name! dangit, i been using NightMarez for like 8 years now, guess its time to make up a new name :) at some point anyways
Knowledge is power, power corrupts. Study hard, be evil.!