前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Win8 获取硬盘剩余空间

Win8 获取硬盘剩余空间

作者头像
井九
发布2024-10-12 09:06:18
860
发布2024-10-12 09:06:18
举报
文章被收录于专栏:四楼没电梯

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

在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.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档