使用WINAPI获得磁盘空间信息

范文庆们写的关于WINAPI的书,真心不错。

今天在南汇新场桃花节公路边等给同事们送门票时,我都看了一个多小时呢。。。

粗看一次了。再在细细的熟悉书中每个API吧。

其实,我计划的是,等熟悉WINDOWS的API之后,再去熟悉LINUX的系统API。

然后,基于系统基础的API之上,了解一些MFC,C#,GTK。.NET等快速开发对基础API的封装。

最后,当然JAVA之中的网络API我也是比较感兴趣的。不然,HADOOP如何进一步学习?

想像如此之后,结合我十余年的路由器,交换机配置经验及对WWW.FTP.MAIL服务器的架构和维护。。

XXX,我无敌了么?这难道就是一个系统构架大师之路???

如果我再会写电影剧本,对哲学和美学,社会学,商业管理,沟通技巧,消费心理,历史,文学,书法,英文的造诣

OMG。。。。这,,还是个凡人么??????飘了。飘了。又飘 了。。。

 1 #include <Windows.h>
 2 #include <stdio.h>
 3 
 4 BOOL GetDiskSpaceInfo(LPCSTR pszDrive)
 5 {
 6     DWORD64 qwFreeBytesToCaller, qwTotalBytes, qwFreeBytes;
 7     DWORD dwSectPerClust, dwBytesPerSect, dwFreeClusters, dwTotalClusters;
 8     BOOL bResult;
 9 
10     bResult = GetDiskFreeSpaceEx (pszDrive,
11         (PULARGE_INTEGER)&qwFreeBytesToCaller,
12         (PULARGE_INTEGER)&qwTotalBytes,
13         (PULARGE_INTEGER)&qwFreeBytes);
14     if(bResult)
15     {
16         printf("Use GetDiskFreeSpaceEX get disk space information\n");
17         printf("availiable Free space(byte):\t%I64d\n",qwFreeBytesToCaller);
18         printf("FreeBytes(byte):\t\t%I64d\n",qwFreeBytes);
19         printf("Total space(byte):\t\t%I64d\n",qwTotalBytes);
20     }
21     bResult = GetDiskFreeSpace (pszDrive,
22         &dwSectPerClust,
23         &dwBytesPerSect,
24         &dwFreeClusters,
25         &dwTotalClusters);
26     if(bResult)
27     {
28         printf("\nUser GetDiskFreeSpace get disk space information\n");
29         printf("Free cluseters :\t\t\t%d\n",dwFreeClusters);
30         printf("Total cluseters :\t\t\t%d\n",dwTotalClusters);
31         printf("Sector per Cluster :\t\t\t%d\n",dwSectPerClust);
32         printf("Bytes per Sector:\t\t\t%d\n",dwBytesPerSect);
33         printf("FreeBytes(byte):\t\t%I64d\n",
34             (DWORD64)dwFreeClusters*
35             (DWORD64)dwSectPerClust*(DWORD64)dwBytesPerSect);
36         printf("Total space(byte):\t\t%I64d\n",
37             (DWORD64)dwTotalClusters*
38             (DWORD64)dwSectPerClust*(DWORD64)dwBytesPerSect);
39     }
40     return bResult;
41 }
42 
43 int main(int argc, PCHAR argv[])
44 {
45     GetDiskSpaceInfo(argv[1]);
46 }

开发工具学习版,家里电脑分区情况,程序运行结果。。。真真是大体不差哟。。。:)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值