我正在尝试编写一个小工具来简化我的可移动媒体的库存。在媒体上获取和存储文件列表很简单,但我希望能够根据驱动器的类型对它们进行编目。
有一个API function来获取驱动器类型,但它已经过时了,仅限于软盘,CD,固定,可移动,网络和RAM。它没有提供细粒度的信息来确定驱动器是闪存驱动器还是存储卡(更不用说更像是什么样的存储卡)。即使是用于USB驱动器的newer function,似乎也没有明确区分USB媒体的类型。
是否有合理的简单可靠的方式(最好是C ++)来确定? (是的,我知道有些媒体可以修改为不同的类型,但它只需要对普通的标准媒体运行良好。)肯定有一些方法可以做到这一点,因为Windows包含shell32.dll
中各种媒体的不同图标,当您插入时,资源管理器通常会使用正确的图标。