如何获取移动磁盘信息(包括:移动盘,移动硬盘)

stiwin 2004-03-15 05:48:37
主要是移动硬盘
...全文
448 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
stiwin 2004-05-13
  • 打赏
  • 举报
回复
我将X不管改成什么盘hDisk 总是返回-1???????
nalichina 2004-04-30
  • 打赏
  • 举报
回复
#include "Winioctl.h"

HANDLE hDisk = CreateFile("\\\\.\\X:",
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);

if (hDisk != INVALID_HANDLE_VALUE)
{
DISK_GEOMETRY dgDisk;

if (DeviceIoControl(hDisk, IOCTL_DISK_GET_DRIVE_GEOMETRY,
NULL,
0,
&dgDisk,
sizeof(dgDisk),
&dwNotUsed,
NULL))
{
if(dgDisk.MediaType == RemovableMedia) //是否移动硬盘
{
// 是
....

}

}

CloseHandle(hDisk);

X: 是你移动硬盘的盘符.
这种方法可以判定u盘
nalichina 2004-04-30
  • 打赏
  • 举报
回复
我也想知道硬盘和虚拟分区如何判断
stiwin 2004-04-26
  • 打赏
  • 举报
回复
ÿ
stiwin 2004-04-20
  • 打赏
  • 举报
回复
GetDriveType不能判断呀
stiwin 2004-04-14
  • 打赏
  • 举报
回复
请列出相关信息.谢谢
captainivy 2004-04-14
  • 打赏
  • 举报
回复
GetDriveType能判断移动硬盘

stiwin 2004-04-12
  • 打赏
  • 举报
回复
不行呀
CityHost 2004-04-12
  • 打赏
  • 举报
回复
DDK里的Kernel-Mode Drivers部分或许有用
Yea 2004-03-20
  • 打赏
  • 举报
回复
可以从获取的盘符+分区多少来看。
Zer 2004-03-20
  • 打赏
  • 举报
回复
Examples\ShellControls\ShellControlDemo
这例子有用没
xiaoto 2004-03-19
  • 打赏
  • 举报
回复
GetDriveType对有个移动硬盘可以判断,对有的移动硬盘无法判断,特别是系统是w2k、xp时。我以前做确认U盘的盘符时,如果可以判断,就跳出。如果不可以,就取最近一个盘符。暂时没找到新的办法。
stiwin 2004-03-18
  • 打赏
  • 举报
回复
GetDriveType不能判断移动硬盘的
stiwin 2004-03-18
  • 打赏
  • 举报
回复
移动硬盘如何判断
JUNE20 2004-03-17
  • 打赏
  • 举报
回复

函数:GetDriveType("str")

返回值:
DRIVE_REMOVABLE: 可移动硬盘
DRIVE_FIXED: 不可移动硬盘
DRIVE_REMOTE: 网络硬盘
DRIVE_CDROM CD_ROM;
DRIVE_RAMDISK 虚拟硬盘
Yea 2004-03-16
  • 打赏
  • 举报
回复
获得移动硬盘的盘符吗?
stiwin 2004-03-16
  • 打赏
  • 举报
回复
送强行针贴一张

http://expert.csdn.net/Expert/topic/2755/2755271.xml?temp=.423382
stiwin 2004-03-16
  • 打赏
  • 举报
回复
2楼的,不能得知是不是移动硬盘

移动硬盘和硬盘通过GetDriveType得到的类型都是一样的,这个函数是行不通的
WbtServer 2004-03-16
  • 打赏
  • 举报
回复
int x;
char driver;
driver='f:\';
x = GetDriveType(driver);
switch(x)
{
case 2: Label1.Caption := '该驱动器是可移动驱动器';
break;
case 3: Label1.Caption := '该驱动器是固定驱动器';
break;
case 4: Label1.Caption := '该驱动器是网络驱动器';
break;
case 5: Label1.Caption := '该驱动器是CD-ROM驱动器';
break;
case 6: Label1.Caption := '该驱动器是虚拟驱动器';
break;
default Label1.Caption := '该驱动器无效';
break;
}

13,825

社区成员

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

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