如何判断U盘插入?

tianshanfe 2007-06-29 05:31:34
怎么判断U盘或移动硬盘插入电脑?
怎么判断一个盘符是U盘或移动硬盘?
...全文
524 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahjoe 2008-02-16
  • 打赏
  • 举报
回复
GetDriveType不灵了。
constantine 2007-07-02
  • 打赏
  • 举报
回复
WM_DEVICECHANGE 百度一下,csdn一下,google一下....都有了
tianshanfe 2007-07-01
  • 打赏
  • 举报
回复
阿丁的方法不行啊,怎么连C盘都是根目录不存在???
charleswu82 2007-06-30
  • 打赏
  • 举报
回复
int check_connect_disk()
{
char Test_Connect_PHYSICALDRIVE[ ] = "\\\\.\\PHYSICALDRIVE0";
int j_how_many_disk_connect;
for(char i='0';i<'9';i++)
{
Test_Connect_PHYSICALDRIVE[17] = i;
//奇怪,应该位置不是17,但输出\\\\.\\PHYSICALDRIVE1结果一般是\\.\PHYSICALDRIVE0
//正解,从\.\\PHYSICALDRIVE1开始
HANDLE hDevice = CreateFile(Test_Connect_PHYSICALDRIVE, // drive to open
0, // no access to the drive
FILE_SHARE_READ, // share mode
NULL, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
NULL); // do not copy file attributes

//Test_Connect_PHYSICALDRIVE
if (hDevice != INVALID_HANDLE_VALUE) // cannot open the drive
{
//ShowMessage(Test_Connect_PHYSICALDRIVE);
//ComboBox1->Items->Add("物理磁盘"+IntToStr(i-48));
j_how_many_disk_connect=i-48+1;

}
}
return(j_how_many_disk_connect);//返回连接的磁盘的个数
}

刚写的,比较连接磁盘数目就行了
jingzhongrong 2007-06-30
  • 打赏
  • 举报
回复
响应这个消息WM_DEVICECHANGE
wanglovec 2007-06-30
  • 打赏
  • 举报
回复
来晚了  阿丁的方法不错
laowang2 2007-06-30
  • 打赏
  • 举报
回复
关注
chenhan159 2007-06-30
  • 打赏
  • 举报
回复
我也写过的 ,U盘插入有专门的消息,响应下好了WM_DEVICECHANGE这个消息
msg.WParam=32768就是优盘
cczlp 2007-06-29
  • 打赏
  • 举报
回复
WM_DEVICECHANGE
jacknes009 2007-06-29
  • 打赏
  • 举报
回复
遍历盘符,判断是否为移动的,
for(char i = 'A'; i <= 'Z'; i++)
{

AnsiString root = "";
int nn;
root += i;
nn = GetDriveType(root.c_str());
switch(nn)
{
case 0:
ShowMessage("无法检测到该驱动器");
break;
case 1:
ShowMessage("根目录不存在");
break;
case DRIVE_REMOVABLE:
ShowMessage("可移动盘");
break;
case DRIVE_FIXED:
ShowMessage("固定盘");
break;
case DRIVE_REMOTE:
ShowMessage("远程网络盘");
break;
case DRIVE_CDROM:
ShowMessage("CD_ROM");
break;
case DRIVE_RAMDISK:
ShowMessage("RAM盘");
break;
default:
break;
}
}
constantine 2007-06-29
  • 打赏
  • 举报
回复
查以前的帖子,我帖过代码。要不去delphi--FAQ里面找
另外不超blog里面都有

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧