WindowsAPI获取磁盘可用空间信息【转】
2013-05-02 22:43
337 查看
原文:http://tech.ddvip.com/2012-12/1355150229186852.html
/* 头文件 */ #include <windows.h> #include <stdio.h> /* ************************************ * BOOL GetDiskSpaceInfo(LPCSTR pszDrive * 功能 根据输入的驱动器,获取磁盘总容量 * 空闲空间、簇数量等磁盘信息 * 参数 驱动器根路径,比如“D:”。 **************************************/ BOOL GetDiskSpaceInfo(LPCSTR pszDrive) { DWORD64 qwFreeBytesToCaller, qwTotalBytes, qwFreeBytes; DWORD dwSectPerClust, dwBytesPerSect, dwFreeClusters, dwTotalClusters; BOOL bResult; //使用GetDiskFreeSpaceEx获取磁盘信息并打印结果 bResult = GetDiskFreeSpaceEx (pszDrive, (PULARGE_INTEGER)&qwFreeBytesToCaller, (PULARGE_INTEGER)&qwTotalBytes, (PULARGE_INTEGER)&qwFreeBytes); if(bResult) { printf("使用GetDiskFreeSpaceEx获取磁盘空间信息\n"); printf("可获得的空闲空间(字节): \t%I64d\n", qwFreeBytesToCaller); printf("空闲空间(字节): \t%I64d\n", qwFreeBytes); printf("磁盘总容量(字节): \t%I64d\n", qwTotalBytes); } //使用GetDiskFreeSpace获取磁盘信息并打印结果 bResult = GetDiskFreeSpace (pszDrive, &dwSectPerClust, &dwBytesPerSect, &dwFreeClusters, &dwTotalClusters); if(bResult) { printf("\n使用GetDiskFreeSpace获取磁盘空间信息\n"); printf("空闲的簇数量 : \t%d\n",dwFreeClusters); printf("总簇数量 : \t%d\n",dwTotalClusters); printf("每簇的扇区数量 : \t%d\n",dwSectPerClust); printf("每扇区的容量(字节): \t%d\n",dwBytesPerSect); printf("空闲空间(字节): \t%I64d\n", (DWORD64)dwFreeClusters* (DWORD64)dwSectPerClust*(DWORD64)dwBytesPerSect); printf("磁盘总容量(字节): \t%I64d\n", (DWORD64)dwTotalClusters* (DWORD64)dwSectPerClust*(DWORD64)dwBytesPerSect); } return bResult; } /* ************************************ * int main( int argc, PCHAR argv[] ) * 功能 应用程序主函数,根据输入参数 * 调用GetDiskSpaceInfo函数获取 * 磁盘空间信息 * 参数 驱动器根路径,比如“D:”。 **************************************/ int main(int argc, PCHAR argv[]) { GetDiskSpaceInfo ("D:"); system("pause"); }
相关文章推荐
- 基于visual c++之windows核心编程代码分析(13)获取磁盘可用空间信息
- asp.net 获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)
- 文件磁盘相关函数[15]-获取磁盘空间信息 WinAPI:GetDiskFreeSpaceEx;
- C# 获取磁盘空间信息
- C#获取磁盘空间信息的几个方法
- C# 获取磁盘空间或者可用空间
- Obtaining Disk Space Information获取磁盘空间信息
- C# 收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)
- C#获取磁盘空间信息的几个方法
- C#获取磁盘空间信息的几个方法
- C# 收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)
- 在Windows下通过JConfig获取磁盘剩余空间信息
- C# 收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)
- [WinAPI] API 8 [获取磁盘空间信息]
- iOS开发 - 获取磁盘容量及可用空间
- 磁盘和sd卡的可用空间大小获取
- 获取与一个磁盘的组织以及剩余空间容量有关的信息以及代码测试
- 获取磁盘空间信息(十四)
- [Win32]获取当前系统可用磁盘空间最大的盘符