我正在使用ac#program来查看硬盘上仍有多少GB(总大小为1 TB,可用大小为110 GB(确切地说,根据Windows资源管理器中的驱动器属性:118.333.329.408字节),根据Windows ).
我的问题是我得到的结果是.....关闭.
根据我在下面使用的C#方法,它是10,135,252,992字节.....但根据Windows 110!GB是免费的.
注意:我在Windows Server这里谈论的是驱动器是D驱动器.因此没有交换文件,也没有隐藏的系统文件(至少不超过任何非系统驱动器,因为系统驱动器是C驱动器).
public long GetTotalFreeSpace(string driveName)
{
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.IsReady && drive.Name == driveName)
{
return drive.TotalFreeSpace;
}
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这是怎么做的以及如何纠正它?
在幕后,System.IO.DriveInfo程序集似乎使用Windows API中的GetDiskFreeSpaceEx函数.
标准版GetDiskFreeSpace和之间的区别GetDiskFreeSpaceEx归结为:
GetDiskFreeSpace:
GetDiskFreeSpace函数检索有关指定磁盘的信息,包括磁盘上的可用空间量.
GetDiskFreeSpaceEx:
GetDiskFreeSpaceEx函数检索有关磁盘卷上可用空间量的信息,即空间总量,可用空间总量以及与调用线程关联的用户可用空间总量.
最有可能的是,您在当前用户可用空间上达到了一些配额.
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |