能力值:
( LV3,RANK:20 )
|
-
-
2 楼
如果你能给俺唱首好听的歌 我帮你解决
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
在窗口过程中处理WM_DEVICECHANGE消息
|
能力值:
( LV8,RANK:140 )
|
-
-
4 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
[QUOTE=代码疯子;1000603]
USBHook.zip
写了很久了,当时候也是给朋友写的一个DEMO,你可以看下。[/QUOTE]
借用,学习一下。谢谢了哇!!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
4楼亮了,顶起
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
这个百度一下有很多现成的例子,大多都是通过调用GetDriveType函数来检测U盘类型,不过这个函数对移动硬盘没办法
|
能力值:
( LV9,RANK:610 )
|
-
-
8 楼
发IOCTL_STORAGE_QUERY_PROPERTY查BusType就知道了~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
可以判断硬盘,移动硬盘,U盘,光驱的。。
BOOL GetDirverInfo(LPSTR szDrive)
{
CHAR szName[MAX_PATH];
DWORD dwRet;
GetVolumePathNamesForVolumeName(szDrive,szName,MAX_PATH,&dwRet); //返回 X:\
UINT uDriveType;
DWORD dwVolumeSerialNumber;
DWORD dwMaximumComponentLength;
DWORD dwFileSystemFlags;
CHAR szFileSystemNameBuffer[BUFSIZE];
CHAR szDirveName[MAX_PATH];
printf("\n%s\n",szDrive);
uDriveType = GetDriveType(szDrive);
switch(uDriveType)
{
case DRIVE_UNKNOWN:
printf("设备类型未知.");
break;
case DRIVE_NO_ROOT_DIR:
printf("根目录无效,例如这个路径没有卷.");
break;
case DRIVE_REMOVABLE:
printf("是一个可移动设备,例如软盘或U盘.");
break;
case DRIVE_FIXED:
printf("是一个固定的磁盘驱动器.例如硬盘.");
break;
case DRIVE_REMOTE:
printf("可移动的网络驱动器.");
break;
case DRIVE_CDROM:
printf("CD-ROM驱动器");
break;
case DRIVE_RAMDISK:
printf("RAM磁盘设备");
break;
default:
break;
}
|
能力值:
( LV9,RANK:610 )
|
-
-
10 楼
楼上的根本判断不了移动硬盘~
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
有消息的。。。。没接到消息的话可以查询。。。
|
|
|