分享
 
 
 

VB6编程中如何获取硬盘分区信息

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

也许你并不了解硬盘分区信息应该包括些什么,但如果你曾经对硬盘分过区,你或许对此有所了解,在此为各位介绍一个用VB编写的获取硬盘分区信息的程序。在这个程序中,它将详细地告诉你:你的硬盘总容量、分过几个区、每个区的总容量、及现在剩余的可用容量、硬盘分区表为几位(即是FAT32还是FAT16),每个分区是几个字节……怎么样?够完整详细了吧!好的,就让我们一起来看一下吧:

首先做准备工作:在FORM1上新建二个LABEL(LABEL1和LABEL2)一个COMMAND1命令按钮。然后输入以下代码:

Private Declare Function GetDriveType Lib

kernel32“Alias "GetDriveTypeA(ByVal nDrive As String) As Long

Private Declare Function GetDiskFreeSpace Lib“kernel32" Alias“GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long

Private Const DRIVE_FIXED = 3

Private Sub Form_Load() ‘作初始化设置

COMMAND1.Caption = “测试硬盘"

Form1.Caption = “测试硬盘程序"

Label1.WordWrap = True

Label1.Caption = “"

Label2.WordWrap = True

Label2.Caption = “"

End Sub

Private Sub COMMAND1_Click()

Dim DriveNum As Integer

Dim TempDrive As String

Dim X As Long

For DriveNum = 97 To 122 Step 1 ‘检测从A-Z(盘符)

TempDrive = GetDriveType(Chr(DriveNum) & “:\")

Select Case TempDrive ‘如是3则表示是硬盘,测试你有几个盘

Case 3: X = GetDiskSpace(Chr(DriveNum)) ‘调用子程序

End Select

Next DriveNum

End Sub

Public Function GetDiskSpace(DrivePath As String)

Dim Drive As String

Dim SectorsPerCluster As Long

Dim BytesPerSector As Long

Dim NumberOfFreeClusters As Long

Dim TotalClusters As Long

Dim Check As Integer

Dim DiskSpace

Dim diskTotal

Static AllDiskTotal As Long

Static NUM As Integer

NUM = NUM + 1 ‘分几个区的计算

Drive = Left(Trim(DrivePath), 1) & “:\"

Check = GetDiskFreeSpace(Drive, SectorsPerCluster, BytesPerSector, NumberOfFreeClusters, TotalClusters)

If Check <> 0 Then

DiskSpace = SectorsPerCluster * BytesPerSector * NumberOfFreeClusters

‘这是一个分区磁盘剩余空间的计算公式

DiskSpace = Format$(DiskSpace, “###,###") ‘以规定格式显示,如732,324,231

diskTotal = SectorsPerCluster * BytesPerSector * TotalClusters

‘这是一个分区磁盘总容量的计算公式

diskTotal = Format$(diskTotal, “###,###")

AllDiskTotal = AllDiskTotal + diskTotal ‘整个硬盘的总容量

Label1.Caption =“你的硬盘总容量为:” & Format$(AllDiskTotal,“###,###") &个字节,即:” & Left(AllDiskTotal, 1) & . & Mid(AllDiskTotal, 2, 1) &“G,一共分了”& NUM &“个区,其中:"

Label2.Caption = Label2.Caption & UCase(DrivePath) & “盘的整个容量为:" & diskTotal &“个字节" & ",其剩余磁盘空间为:“& DiskSpace & " 个字节,磁盘已FAT“& SectorsPerCluster & ",每个分区为:“& BytesPerSector & "个字节。“& vbCrLf & vbCrLf”

End If

End Function

OK!现在你运行一下,你是否满意它?

注:以上程序在中文WINDOWS98,中文VB6.0企业版中调试通过。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有