我想根据系统驱动器是否为SSD来更改C++应用程序的性能和行为。
例子:

  • 对于SSD,我希望我的gameserver应用程序完全加载每个 map 以及所有对象,以最大程度地提高性能。
  • 对于HDD,我希望我的游戏服务器应用程序仅加载每个 map 中的基本对象和实体,而不加载外部对象。

  • 我看过http://msdn.microsoft.com/en-gb/library/windows/desktop/aa364939(v=vs.85).aspx,它是确定某个驱动器是否为HDD,CD ROM,DVD ROM,可移动媒体等的一种方式,但是它仍然无法检测主系统驱动器是否为SSD。
    我也看到了Is there any way of detecting if a drive is a SSD?,但是该解决方案仅适用于Linux。

    我以为我可以以某种方式生成较大的罚款(500MB),然后生成文件写入所花的时间,但是其他系统变量很容易影响结果。

    在Windows中,使用C++,是否有任何方法可以获取主系统驱动器是否为SSD?

    最佳答案

    您可以使用Microsoft WMI类 MSFT_PhysicalDisk 。媒体类型4为SSD,SpindleSpeed将为0。

    关于c++ - 在Windows中检测SSD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23363115/

    10-11 18:28