开发一个可以检测我系统上安装的DirectX版本的应用程序。例如,如果我的系统上安装了DirectX 9和DirectX 11,那么我的程序必须检测这些安装并显示已安装的版本。但我不知道如何完成这个
修改 我不想使用dxdiag UI来检测版本,我希望我的程序检测版本。并且必须检测所有已安装的版本,而不仅仅是预先安装了操作系统的版本或操作系统支持的最高级别
答案 0 :(得分:2)
您很可能无法列出 所有 安装的DirectX版本。我在名为this interesting article的游戏平台的支持页面中遇到了Steam:
尝试手动检查正确的版本非常复杂,因为有许多文件必须全部存在,并且各个系统配置选项(如dll搜索路径)使情况复杂化。此外,依赖关系和所需的检查可能会在每个新版本的D3DX运行时中发生变化。
作为mentioned by Hans Passant,您可以通过运行dxdiag /x <output file>
来生成包含计算机信息的各种条目的XML文件,然后在应用程序中解析或反序列化该文件,从而获得安装最高的版本。