首页 > Windows开发 > 详细

Win8 获取硬盘剩余空间

时间:2014-03-31 14:05:56      阅读:601      评论:0      收藏:0      [点我收藏+]

保存文件的时候,经常需要判断一下是否磁盘空间不足。

在Metro下有个API

[DllImport("kernel32.dll", SetLastError = true)]
        public static extern bool GetDiskFreeSpaceEx(
            string lpDirectoryName,
            out ulong lpFreeBytesAvailable,
            out ulong lpTotalNumberOfBytes,
            out ulong lpTotalNumberOfFreeBytes);

MSDN说这个可以在App中用,但实际上,由于Metro环境的局限性,不能访问大多数文件系统,所以这个函数尽可以基于 Path="." 或者 应用安装位置来获得所在盘的空间大小。

还好找到另外一个方法。IStorageItem可以传StorageFile或者StorageFolder

public static async Task<ulong> GetFreeSpace(IStorageItem sf)
{
            var properties = await sf.GetBasicPropertiesAsync();
            var filteredProperties = await properties.RetrievePropertiesAsync(new[] {"System.FreeSpace"});
            var freeSpace = filteredProperties["System.FreeSpace"];
            return (ulong) freeSpace;
}



Win8 获取硬盘剩余空间,布布扣,bubuko.com

Win8 获取硬盘剩余空间

原文:http://blog.csdn.net/problc/article/details/22652067

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!