【问题标题】:Detecting SD Card drives检测 SD 卡驱动器
【发布时间】:2015-11-12 08:31:25
【问题描述】:

我的程序需要在所有本地驱动器中找出 SD 卡。可以轻松识别可移动驱动器(使用 GetLogicalDrivesStrings()GetDriveType() ),但要知道哪些是真正的 SD 卡似乎更难。

有很多问题(包括herehereherehere)但没有完整的答案(很多集中在 USB 上)。有人说无法区分 SD 卡和 USB,但是 Windows 资源管理器显示 SD 卡的不同驱动器图标(至少在 Windows 7 中),因此它可以区分哪个是哪个。

不基于 WMI 的代码的额外奖励,因为我的程序仍在使用本机 Win32/MFC!一些DeviceIoControl() 属性可以提供帮助吗?现在,如果有人有 C#/.NET 解决方案,我仍然很乐意阅读它!

【问题讨论】:

  • 轻松作弊;因为 shell 知道类型,所以问 shell。使用SHGetFileInfo 获取驱动器的图标索引。
  • 哈哈!您已获得金徽章又脏又有趣,甚至可能有效的解决方案。让我检查一下所有版本的 Windows 上的图标索引!我可能最终会使用你的解决方案,这表明我是多么绝望:-D

标签: c# windows winapi mfc sd-card


【解决方案1】:

应该可以使用DevicePowerEnumDevices

USB 闪存盘应该在设备管理器的“电源数据”下有PDCAP_D2_SUPPORTED,而不是存储卡。

见讨论here

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    相关资源
    最近更新 更多