惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
Spread Privacy
Spread Privacy
GbyAI
GbyAI
F
Fortinet All Blogs
小众软件
小众软件
B
Blog RSS Feed
博客园_首页
量子位
Y
Y Combinator Blog
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News
Last Week in AI
Last Week in AI
F
Full Disclosure
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
宝玉的分享
宝玉的分享
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
A
About on SuperTechFans
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tenable Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Project Zero
Project Zero
C
CXSECURITY Database RSS Feed - CXSecurity.com
Engineering at Meta
Engineering at Meta
博客园 - 叶小钗
S
SegmentFault 最新的问题
T
Threat Research - Cisco Blogs
博客园 - 司徒正美
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
S
Schneier on Security
Latest news
Latest news
I
Intezer
A
Arctic Wolf
T
Threatpost

博客园 - Ray Lynn

使用 flex air 读写文件 - Ray Lynn Google Chrome 源码下载 什么是SAAS? QQ盗号木马原理 WindowsSockets 错误码 js操作cookies类 使用 Microsoft SOAP Toolkit 2.0 建立安全 Web 服务 历史上最强的代码 饭否,唧歪们MSN、QQ、GTalk机器人实现原理及代码 这是比月读还强的幻术!! - Ray Lynn - 博客园 .net 中的伪静态方式. 来自 Discuz!NT 伪静态网页的实现 ACCESS 创建表及索引方式 VB6 判断网络是否正常类 眼保健操 面向服务的面向业务基础 原味香菇片蒸鸡腿 定制特性学习笔记 [转]C#中的定制特性(Attributes)
VB6编程中如何获取硬盘分区信息
Ray Lynn · 2007-07-12 · via 博客园 - Ray Lynn

也许你并不了解硬盘分区信息应该包括些什么,但如果你曾经对硬盘分过区,你或许对此有所了解,在此为各位介绍一个用VB编写的获取硬盘分区信息的程序。在这个程序中,它将详细地告诉你:你的硬盘总容量、分过几个区、每个区的总容量、及现在剩余的可用容量、硬盘分区表为几位(即是FAT32还是FAT16),每个分区是几个字节……怎么样?够完整详细了吧!好的,就让我们一起来看一下吧:
  首先做准备工作:在FORM1上新建二个LABEL(LABEL1和LABEL2)一个COMMAND1命令按钮。然后输入以下代码:

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As StringAs Long
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As LongAs 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, 21& "G,一共分了" & NUM & "个区,其中:"
        Label2.Caption 
= Label2.Caption & UCase$(DrivePath) & "盘的整个容量为:" & diskTotal & "个字节" & ",其剩余磁盘空间为:" & DiskSpace & " 个字节,磁盘已FAT" & SectorsPerCluster & ",每个分区为:" & BytesPerSector & "个字节。" & vbCrLf & vbCrLf
    
End If
End Function

  OK!现在你运行一下,你是否满意它?
  注:以上程序在中文WINDOWS98,中文VB6.0企业版中调试通过。(上海 季昭君)