博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#获取磁盘空间信息的几个方法
阅读量:6002 次
发布时间:2019-06-20

本文共 1746 字,大约阅读时间需要 5 分钟。

    今天本来想找一个在磁盘拷贝的过程中快速获取磁盘大小信息的方法,可惜这几个方法都不给力,拷贝中获取信息依然很慢。纠结。

1、C#DriveInfo类获取

DriveInfo driveinfo = new DriveInfo(@"C:\");  driveinfo.AvailableFreeSpace;  driveinfo.TotalSize;

2、调用系统DLL方法

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

调用

public static void GetDriveInfoDetail(string driveName)          {              ulong availablefreeBytes = 0;                ulong totalNumberOfBytes = 0;                ulong totalNumberOfFreeBytes = 0;                GetDiskFreeSpaceEx(                    driveName,                    out availablefreeBytes,                    out totalNumberOfBytes,                    out totalNumberOfFreeBytes);          }

3、ManagementObjectSearcher查询方法

public static void GetDriveInfoDetail(string driveName)          {              WqlObjectQuery wqlObjectQuery = new WqlObjectQuery(string.Format("SELECT * FROM Win32_LogicalDisk WHERE DeviceID = '{0}'", driveName.Substring(0, 2)));                ManagementObjectSearcher managerSearch = new ManagementObjectSearcher(wqlObjectQuery);                List
driveInfoList = new List
(2); foreach (ManagementObject mobj in managerSearch.Get()) { Console.WriteLine("Description: " + mobj["Description"]); Console.WriteLine("File system: " + mobj["FileSystem"]); Console.WriteLine("Free disk space: " + mobj["FreeSpace"]); Console.WriteLine("Size: " + mobj["Size"]); } }

代码下载:

 

转载地址:http://icbmx.baihongyu.com/

你可能感兴趣的文章
PHP_SELF变量解析和重复路径解决
查看>>
git 命令行使用(基础篇)
查看>>
在VUE中利用MQTT协议实现即时通讯
查看>>
Vue笔记(五)——Token&生命周期
查看>>
《前端十年心路-我把一切告诉你》的书稿大纲&问题收集
查看>>
CSS居中总结大全
查看>>
Elasticsearch 参考指南(安装X-Pack)
查看>>
[LintCode] 604. Design Compressed String Iterator
查看>>
微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators!
查看>>
从人肉到智能,阿里运维体系经历了哪些变迁?
查看>>
JavaScript基础---函数
查看>>
前端每日实战:120# 视频演示如何用纯 CSS 创作锡纸撕开的文字效果
查看>>
electron写一个简单host切换工具
查看>>
前端每日实战 2018 年 8 月份项目汇总(共 29 个项目)
查看>>
Linux 和 vim使用
查看>>
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
Laravel实用小功能
查看>>
js表单各checkbox值
查看>>
测试python HTTPServer功能
查看>>
2.4 文件管理命令
查看>>