当前位置: 首页 > article >正文

使用C#获取有关磁盘驱动器的信息例如大小和可用空间

这个示例返回有关磁盘驱动器的信息,包括:

  • 名称
  • 总大小
  • 总剩余大小
  • 可用空间
  • 格式
  • 类型(硬盘或 CD ROM)
  • 是否可用?
  • 根目录
  • 卷标

 该程序使用System.IO命名空间中的对当程序启动时,它使用以下代码将系统上可用的驱动器添加到名为cboDrive的组合框中。象,因此它包含以下语句以使使用该命名空间更容易。

using System.IO;

当您选择一个驱动器时,以下代码会显示有关它的信息。

// Make a list of drives.
private void Form1_Load(object sender, EventArgs e)
{
    foreach (DriveInfo di in DriveInfo.GetDrives())
    {
        cboDrive.Items.Add(di.Name);
        cboDrive.SelectedIndex = 0;
    }
}
// Display information about the selected drive.
private void cboDrive_SelectedIndexChanged(object sender, EventArgs e)
{
    string drive_letter = cboDrive.Text.Substring(0, 1);
    DriveInfo di = new DriveInfo(drive_letter);
    lblIsReady.Text = di.IsReady.ToString();
    lblDriveType.Text = di.DriveType.ToString();
    lblName.Text = di.Name;
    lblRootDirectory.Text = di.RootDirectory.Name;
    if (di.IsReady)
    {
        lblDriveFormat.Text = di.DriveFormat;
        lblAvailableFreeSpace.Text = di.AvailableFreeSpace.ToString();
        lblTotalFreeSize.Text = di.TotalFreeSpace.ToString();
        lblTotalSize.Text = di.TotalSize.ToString();
        lblVolumeLabel.Text = di.VolumeLabel;
    }
    else
    {
        lblDriveFormat.Text = "";
        lblAvailableFreeSpace.Text = "";
        lblTotalFreeSize.Text = "";
        lblTotalSize.Text = "";
        lblVolumeLabel.Text = "";
    }
}

此代码会创建一个代表所选驱动器的DriveInfo对象,然后使用该对象的属性来了解该驱动器。这里唯一的技巧是,代码会在访问驱动器的其他一些属性之前检查驱动器的IsReady属性。如果驱动器尚未准备好,其中一些属性会引发异常。(例如,如果驱动器是空的 DVD 驱动器。)

下载示例进行试验并查看更多详细信息。


http://www.kler.cn/a/441328.html

相关文章:

  • LeetCode热题100中 17. 20. 53. 78. 215.
  • 51单片机开发:定时器中断
  • UE求职Demo开发日志#15 思路与任务梳理、找需要的资源
  • 通义灵码插件保姆级教学-IDEA(安装及使用)
  • 图像处理之HSV颜色空间
  • 计算机网络__基础知识问答
  • V少JS基础班之第二弹
  • 【基础】nginx简单配置
  • leetcode--mysql
  • HTMLCSS:3D卡片翻转悬停效果
  • 运维报错:SALV报错 CX_SALV_OBJECT_NOT_FOUND
  • PHP8.4下webman直接使用topthink/think-orm
  • 12.17双向链表,循环链表
  • LeetCode - #163 缺失的区间(会员题)
  • Base64在线编码解码 - 加菲工具
  • AngularJS 与 SQL 的集成应用
  • Electron-Vue 主进程远程调试 Webpack/Webstorm 打包配置细节记录
  • 后端-使用redis缓存菜品分类数据
  • 基于python快速部署属于你自己的页面智能助手
  • 说说你对canvas的理解
  • 构建一个rust生产应用读书笔记6-拒绝无效订阅者01
  • 修改docker源
  • 【网络安全】浅谈IP溯源的原理及方法
  • React 基础:剖析 UI 描述之道
  • Python-基于Pygame的小游戏(天空之战)(一)
  • ubuntu无网络图标无法上网解决方案