在 MAC OS 下,插入不同的设备有不同的图标。
比如说插入移动硬盘时,显示的是 ExternalDisk.png ,而插入 U 盘时,显示的是 RemovableDisk.png ,插入内存卡时,显示 Card.png 。
请问系统是如何区分这些设备类型的呢?我尝试了 mount 、 system_profiler SPUSBDataType 等命令都没能找出区分的手段。
有没有什么命令、方法能够对设备类型进行区分呢?
1
otakustay 2016-07-16 13:32:57 +08:00
diskutil info 应该能查出来吧
|
2
chinafeng 2016-07-16 14:07:07 +08:00 via iPhone
可以说下这三个图片哪里找到的吗, 谢谢
|
3
Kirscheis 2016-07-16 14:08:19 +08:00 via Android
ioreg -p IOUSB?
|
4
MrGba2z 2016-07-16 14:27:43 +08:00
https://github.com/google/usbinfo
不知道这个能否有帮助 |
5
kooze 2016-07-16 15:09:11 +08:00
device class
|
6
binss OP @chinafeng /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/下有一些,但这些是手动拷出来的,参考 http://sspai.com/25935
@Kirscheis 除了 id 不同其它一致 @MrGba2z 查出来 idVendor 、 idProduct 、 iSerialNumber 好像并不能说明什么 @kooze 这个好像只能具体到 Mass Storage |
7
binss OP @otakustay 好像只有 diskutil info 可以。有个 Removable Media 的项,移动硬盘为 NO , U 盘为 YES 。而内存卡好像是单纯靠 Device / Media Name 来识别的,只有内置读卡器会被识别为 Card ,换个读卡器插 USB 口就读成 U 盘了。
也不知道是如何判断的 Removable Media |
8
bao3 2016-07-16 17:37:28 +08:00 via Android
你插入电脑时,硬件节点就已经定型了,所以剩下的是判断类型, PID 和 VID 确定是产品品类,然后加载对应驱动,决定了驱动对应的 PNG 。
|