最近再搞一些烦人的东西,基本上就是要获取如同DirectX诊断工具对话框中类似的数据。在这这里,拼命在网上找了,一般像我们不熟悉这方面的时候,都是这样过来的。找找了一堆乱七八糟的信息。比如要获取系统信息,可以使用GetVerionEx,获取内存信息可以使用GetGlobalMemStatus等函数,还有像显卡的东西,可以使用WMI来得到,等等这些个东西。每种小东西,都可以用不同的方式来获取。但是dxdiag中的这些数据都有了,我们不妨直接获取这些,免得使用那么多各种方法来获取不同的信息。
使用dxdiag得到数据,对于使用过directx开发的游戏的人,应该对这个比较数据了。我是不懂了。dxdiag已经向我们暴露了一个com接口了,直接用就行了。具体就看dx sdk 帮助文档吧。使用com的东西,一般都是先初始化,然后得到想要的接口,查询,最后记得卸载。在程序中如果初始化多次com话,会得到数据失败,所以只能一次初始化com。
在这里给出一个获取硬件加速信息的代码。要获取其他的数据,其实是类似的。