怎么从本地硬盘中区分出移动硬盘和本地硬盘
如何从本地硬盘中区分出移动硬盘和本地硬盘?
这两个设备的GetDriveType都一样啊,还有什么别的方法么?
------解决方案--------------------
我一般获取 设备实例ID (Device Instance ID) 看前缀。
------解决方案--------------------
可以这么搞.
参考一下.
这两个设备的GetDriveType都一样啊,还有什么别的方法么?
------解决方案--------------------
我一般获取 设备实例ID (Device Instance ID) 看前缀。
------解决方案--------------------
可以这么搞.
参考一下.
- C/C++ code
HANDLE hDevice=NULL; char szT1[MAX_PATH]={0}; BOOL bRet=FALSE; DWORD dwRet=0; wsprintf(szT1,"\\\\.\\PHYSICALDRIVE%d",0); hDevice=CreateFile(szT1,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM,NULL); DISK_GEOMETRY Geometry; BOOL bResult = DeviceIoControl(hDevice, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, Geometry, sizeof(DISK_GEOMETRY), &cbByteReturned, NULL); if(Geometry.MediaType == RemovableMedia) { printf("RemovableMedia"); }