detectar dirextX? a que te refieres? a saber la version?
si es saber la version se hace validando la siguiente llave del registro:
RegistryKey llaveRegistro;
llaveRegistro= Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\DirectX").GetValue("Version");