- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 Windows (XP-7) 上,是否有可靠的方法以编程方式区分 C++ 中的 USB 软盘驱动器和 USB 闪存驱动器?
目前,我正在使用 WMI 在有新 Win32_LogicalDisk
时获取更新检测实例,然后使用 LogicalDisk 对象的 DriveType 属性找出基本类型。这工作得很好,除了软盘驱动器和 USB 闪存驱动器都是 DriveType DRIVE_REMOVABLE
,所以为了区分它们(软盘与闪存),我使用 IOCTL_STORAGE_GET_HOTPLUG_INFO
接口(interface)来确定设备是否可热插拔,并且正在研究这意味着它是闪存驱动器而不是软盘的原理。同样,我认为这在内部软盘驱动器的情况下效果很好(如果效率有点低,同时使用 WDK API 和 WMI 获取信息),但不幸的是,USB 软盘驱动器在很多时候也是可热插拔的,所以有没有明确的方法来区分闪存和 USB 软盘驱动器,我可以看到。我知道有些属性可能有效,例如检查它是否映射到保留的驱动器 A: 或 B(编辑:仅当机器确实有软盘驱动器时才相关 - 参见 MS-KB: How to change drive letter assignments in Windows XP ),或者查看描述,但我真的想要更可靠的东西。
很抱歉解释得太长,但只是想说清楚!谢谢
最佳答案
您尝试过 Win32_LogicalDisk.MediaType 吗?它具有针对软盘的特定枚举。确保在驱动器中没有磁盘时尝试。
关于c++ - 在 Windows 中以编程方式区分 USB 软盘驱动器和 USB 闪存驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797128/
所以我需要编写一个代码来调整文本、pdf、jpg...的大小,直到或等于1474560(软盘的大小)。问题是如何进行此限制,以便writeFile 将停止直到1474560 大小。 void newF
我是一名优秀的程序员,十分优秀!