用什么函数可以得到本地硬盘分区个数?

jimivan007 2003-01-18 10:46:54
用什么函数可以得到本地硬盘分区个数?
...全文
124 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimivan007 2003-01-21
  • 打赏
  • 举报
回复
to: mustang_zr()

谢谢!
mustang_zr 2003-01-21
  • 打赏
  • 举报
回复
用GetLogicalDrives API
示例:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
DWORD AllDrives=GetLogicalDrives();
if (AllDrives==0)
return;
AnsiString Dir;
char d;
int Count = 0;
for(int i=2; i<26; i++)
{
if (AllDrives & (1<<i))
{
d=i+'A';
Dir=AnsiString(d)+":\\";
if(GetDriveType(Dir.c_str())==DRIVE_FIXED)
Count = Count + 1;
}
}
ShowMessage(IntToStr(Count));//分区个数
}
cscer 2003-01-20
  • 打赏
  • 举报
回复
学习!

请教一个问题:

::GetDriveType可以读取linux分区吗?
jimivan007 2003-01-20
  • 打赏
  • 举报
回复
TO: nbdqle(爱好者)
不是这意思,谢谢

TO: myy() ( )
不包括LINUX分区,只需FAT-32或者FAT-16的就可。NT的我想暂不考虑。
取得本地磁盘分区个数后,
1.只有一个分区, //我的代码
2.多个分区(多少个?) //我的代码


TO: binbin(无限期消失中...)

没找到:)
jimivan007 2003-01-20
  • 打赏
  • 举报
回复
各位大侠令我非常感动,thanks a lot!
jimivan007 2003-01-20
  • 打赏
  • 举报
回复
甲酚
jimivan007 2003-01-20
  • 打赏
  • 举报
回复
有人回答我的问题吗?
jimivan007 2003-01-20
  • 打赏
  • 举报
回复
GetDriveType只是获得磁盘类型,与分区好像没有什么联系
binbin 2003-01-19
  • 打赏
  • 举报
回复
源码范例->系统->磁盘读写
binbin 2003-01-19
  • 打赏
  • 举报
回复
俺想可以读分区表,关于windows 下的磁盘读写,俺的FTP上有源码可参考,有fot 9x的也有for NT的.
ftp://202.195.246.202
在优秀源码中找.
binbin 2003-01-18
  • 打赏
  • 举报
回复
想办法知道磁盘管理器是怎么管理分区的.
jimivan007 2003-01-18
  • 打赏
  • 举报
回复
GetDriveType是获取磁盘状态,那到底有没有我要的函数呢?
jimivan007 2003-01-18
  • 打赏
  • 举报
回复
取得本地磁盘分区个数后,
1.只有一个分区, //我的代码
2.多个分区(多少个?) //我的代码
warton 2003-01-18
  • 打赏
  • 举报
回复
我知道读注册表可以,因为可以用修改注册表来隐藏分区
halibut 2003-01-18
  • 打赏
  • 举报
回复
UP!
pick 2003-01-18
  • 打赏
  • 举报
回复
可用absread函数不过只能在dos下用
而且需要转换
tccsdn 2003-01-18
  • 打赏
  • 举报
回复
去读引导记录,除非只把硬盘放在主机里面没接数据线或电源线,不管什么系统什么分区都可以找到,呵呵,就是不回写代码
myy 2003-01-18
  • 打赏
  • 举报
回复
硬盘分区 ? Linux 分区算不算 ?

GetDriveType 只能获取 逻辑磁盘,硬盘物理分区恐怕没那么简单。

不知道你想要那种。
nbdqle 2003-01-18
  • 打赏
  • 举报
回复
AnsiString type;
ListBox1->Clear();
for(int i='A';i<'Z';i++)
{
AnsiString root=AnsiString(char(i))+":\\";
switch(::GetDriveType(root.c_str()))
{
case 0:ListBox1->Items->Add(root+" 无法确认");break;
case DRIVE_REMOVABLE:ListBox1->Items->Add(root+" 抽取式磁盘(软盘)");break;
case DRIVE_FIXED:ListBox1->Items->Add(root+" 固定式磁盘(硬盘)");break;
case DRIVE_REMOTE:ListBox1->Items->Add(root+" 远程装置(网络上磁盘)");break;
case DRIVE_CDROM:ListBox1->Items->Add(root+" 光驱");break;
case DRIVE_RAMDISK:ListBox1->Items->Add(root+" RAM磁盘");break;
}
}
halibut 2003-01-18
  • 打赏
  • 举报
回复
哈哈哈...
加载更多回复(4)

13,826

社区成员

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

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