admin管理员组文章数量:1794759
Win8 获取硬盘剩余空间
保存文件的时候,经常需要判断一下是否磁盘空间不足。
在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; }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-11,如有侵权请联系 cloudcommunity@tencent 删除staticsystemvar函数文件系统本文标签: Win8 获取硬盘剩余空间
版权声明:本文标题:Win8 获取硬盘剩余空间 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754902792a1707983.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论