获得每一个独立硬盘下的分区卷标

lexfu 2009-01-17 07:15:41
如题:我的机器上有两个硬盘,一个有4个分区另一个有两个,如何能够做到分别获得每一个硬盘下的卷标信息?
...全文
235 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lexfu 2009-12-31
  • 打赏
  • 举报
回复
namespace FileCHecker
{
public partial class CheckerOptions : DevExpress.XtraEditors.XtraForm
{
public CheckerOptions()
{
InitializeComponent();

//设定用户可以更改窗口的边框属性
SkinManager.EnableFormSkins();
//设定窗口边框属性为黑色,如果不使用下面的代码,窗口边框将使用默认设置
mainFormLookAndFeel.LookAndFeel.SkinName = "Black";

SetCheckOptions();


}

private void SetCheckOptions()
{
FileInfo configXMLFile = new FileInfo("Config.xml");

//配置文件不存在
if (!configXMLFile.Exists)
{
//只检查主文件夹选项选中
this.radBtnOnlyMain.Checked = true;

//不选择文件夹名检查选项
this.chkBoxEnableFolderName.Checked = false;
this.radBtnFolderWiName.Enabled = false;
this.txtEditFolderWiName.Enabled = false;
this.radBtnFolderWioName.Enabled = false;
this.txtEditFolderWioName.Enabled = false;

//不选择文件扩展名选项
this.chkBoxEnableExtName.Checked = false;
this.radBtnWiFileExt.Enabled = false;
this.txtEditFileWiSpecExt.Enabled = false;
this.radBtnWioFileExt.Enabled = false;
this.txtEditFileWioSpecExt.Enabled = false;

//不选择文件名检查选项
this.chkBoxEnableSpecFileName.Checked = false;
this.radBtnWiFileName.Enabled = false;
this.txtEditFileWiSpecName.Enabled = false;
this.radBtnWioFileName.Enabled = false;
this.txtEditFileWioSpecName.Enabled = false;
}
else
{ }
}

//Folder 选项checkbox
private void chkBoxEnableFolderName_CheckedChanged(object sender, EventArgs e)
{
if (this.chkBoxEnableFolderName.Checked)
{
this.radBtnFolderWiName.Enabled = true;
this.radBtnFolderWioName.Enabled = true;
}
else
{
this.radBtnFolderWiName.Enabled = false;
this.radBtnFolderWioName.Enabled = false;
this.txtEditFolderWiName.Enabled = false;
this.txtEditFolderWioName.Enabled = false;
}
}

//Folder 选项radioButton
private void radBtnFolderWiName_CheckedChanged(object sender, EventArgs e)
{
if (this.radBtnFolderWiName.Checked)
{
this.txtEditFolderWiName.Enabled = true;
}
else
{
this.txtEditFolderWiName.Enabled = false;
}
}

private void radBtnFolderWioName_CheckedChanged(object sender, EventArgs e)
{
if (this.radBtnFolderWioName.Checked)
{
this.txtEditFolderWioName.Enabled = true;
}
else
{
this.txtEditFolderWioName.Enabled = false;
}
}

private void chkBoxEnableExtName_CheckedChanged(object sender, EventArgs e)
{
if (this.chkBoxEnableExtName.Checked)
{
this.radBtnWiFileExt.Enabled = true;
this.radBtnWioFileExt.Enabled = true;
}
else
{
this.radBtnWiFileExt.Enabled = false;
this.radBtnWioFileExt.Enabled = false;
this.txtEditFileWiSpecExt.Enabled = false;
this.txtEditFileWioSpecExt.Enabled = false;
}
}
}
}
ldfqq 2009-01-18
  • 打赏
  • 举报
回复

namespace System.IO
{
public enum DriveType
{
// 摘要:
// 驱动器类型未知。
Unknown = 0,
//
// 摘要:
// 此驱动器没有根目录。
NoRootDirectory = 1,
//
// 摘要:
// 此驱动器是一个可移动存储设备,如软盘驱动器或 USB 闪存驱动器。
Removable = 2,
//
// 摘要:
// 此驱动器是一个固定磁盘。
Fixed = 3,
//
// 摘要:
// 此驱动器是一个网络驱动器。
Network = 4,
//
// 摘要:
// 此驱动器是一个光盘设备,如 CD 或 DVD-ROM。
CDRom = 5,
//
// 摘要:
// 此驱动器是一个 RAM 磁盘。
Ram = 6,
}
}

DiskType为System.IO命名空间下的系统定义的枚举类型,
只需要判断下DiskType类型为3,即为硬盘
lexfu 2009-01-18
  • 打赏
  • 举报
回复
二楼的方法我试过,这种情况下显示出来的还是所有的硬盘分区。
我想得到的是,当选择disk 0 时,只显示disk 0上的分区,选disk1时,只显示disk1上的分区。
而且无论是使用Win32_LogicalDisk 还是DriveInfo.GetDrives(),他们都是按照分区的字母顺序来排的,就是:C,D,E......这样。而我的disk0上的分区是H和M,disk1上才是C和D。因此,有什么办法能够按照硬盘的顺序来显示分区。

就是:
disk0:H,M
disk1:C,D,E,F
这样来显示
颤菊大师 2009-01-17
  • 打赏
  • 举报
回复
            SelectQuery query = new SelectQuery("Select   *   From   Win32_LogicalDisk");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
string str = "";
foreach (ManagementBaseObject disk in searcher.Get())
{
str += "\r\n" + disk["Name"] + " " + disk["DriveType"] + " " + disk["VolumeName"];
}
MessageBox.Show(str);


using System.Management;
项目——添加引用——System.Management——确定
好用的分区工具已破解[V4.9.6.564] 1、纠正在Windows 7或Windows 8系统下无法备份或还原U盘第二个分区的问题。 2、纠正无法建立较大的ESP分区的问题。 3、纠正双击文件列表中的文件夹后程序出现异常的问题。 4、纠正双击文件列表中的“..”后,左侧目录树重复展开子目录的问题。 5、纠正非常规扇区大小的EXT4分区分区备份功能中的问题。 [V4.9.6.559] 1、将删除恢复功能中的“所有类型”文件夹显示成一个独立的“分区”。 2、纠正删除恢复功能中的“所有类型”中的文件数据错误的问题。 3、纠正“恢复指定类型的文件”功能恢复出来的文件数据错误的问题。 4、纠正分配盘符时可能会覆盖掉UltraISO软件虚拟光驱盘符的问题。 5、纠正坏道检测功能在个别情况下出现内存不足的问题。 [V4.9.6.552] 1、更改恢复文件功能的运行模式,可以单独或同时选择“恢复已删除文件”、“完整恢复”选项,避免重复扫描以提高效率。 2、支持PDF文件格式的预览。 3、恢复已删除文件的功能支持EXT4分区。 4、优化坏道检测功能,提高检测速度。 5、优化文件恢复功能的扫描速度。 6、优化分区搜索功能的执行速度。 7、执行各种操作时,在任务栏按钮上同步显示操作进度。 8、支持通过鼠标拖拽加载虚拟硬盘。 9、支持通过鼠标从资源管理器拖拽的方式复制文件到分区。 10、支持通过右键菜单复制磁盘及分区信息中的文字。 11、发现分区有损坏时在分区名称中显示“损坏”字样。 12、提高对NTFS分区错误的兼容性。 13、提高NTFS分区文件恢复的准确度。 14、加快清除分区空闲扇区功能用随机数填充扇区时的执行速度。 15、加快彻底删除文件功能用随机数填充扇区时的执行速度。 16、保存分区表时,不再报告“没有活动分区”的错误。 17、快速格式化、新建分区时,不为ESP/MSR分区分配盘符。 18、在GPT磁盘上建立新分区时,默认不建立ESP/MSR分区。 19、恢复文件功能,扫描时可以预览文件内容。 20、恢复文件功能,在含有已删除文件的目录上显示绿色的回收站标记。 21、恢复文件时,在分区信息窗口仍然显示源分区的信息。 22、在SMART信息中,显示移动硬盘真实的型号与序列号,而不是硬盘盒的型号序号。 23、文件重命名、新建文件夹时不允许文件名中含有目录分隔符。 24、支持EXT4文件系统下以“\”作为文件名字符使用。 25、提高对EXT4分区错误的兼容性。 26、提高EXT4分区备份与还原功能的稳定性。 27、提高EXT4分区文件读写功能的稳定性。 28、提高EXT4分区调整分区大小功能的稳定性。 29、软件未激活时允许按指定的柱面范围搜索分区。 30、对于正在恢复文件的分区以及搜索出来的丢失分区,禁止执行有损操作。如:“分区克隆”、“分区还原”、“清除扇区空闲空间”、“清除扇区数据”等。 31、搜索分区过程中禁用“重建主引导记录”、“备份分区表”菜单项。 32、恢复文件搜索过程中禁用“保存搜索进度”菜单项。 33、禁止对未解锁的BitLocker分区执行设置卷标、设置卷ID操作。 34、纠正在某些情况下无法正确分配盘符的问题。 35、纠正还原分区表后没有重新分配盘符的问题。 36、纠正在某些情况下还原分区表功能出现写盘错误的问题。 37、纠正建立ESP/MSR分区失败时没有显示错误提示的问题。 38、纠正在文件列表单击文件时,预览图闪烁的问题。 39、纠正从分区镜像提取文件时整体进度条的显示问题。 40、纠正恢复文件后跳转NTFS文件记录不准确的问题。 41、纠正在整个磁盘上执行恢复文件功能时有时提示Invalid handle的问题。 42、纠正恢复已删除文件时可能出现文件夹没有复选框的问题。 43、纠正PE下内存不多时无法还原按文件备份的NTFS分区镜像的问题。 44、纠正在某些情况下GUID分区表加载失败的问题。 45、纠正在某些版本的WinPE下保存GUID分区表时出错的问题。 46、纠正在某些情况下保存分区表时提示写扇区错误的问题。 47、纠正恢复文件功能有时无法复制4GB大小的文件的BUG。 48、纠正在某些情况下无法向没有盘符的分区写入文件的问题。 49、纠正向具有压缩属性的NTFS分区写入文件时出错的问题。 50、纠正在某些情况下从EXT4分区镜像提取文件时出错的问题。 51、纠正读写分割形式并且有快照的vmdk时出错的问题。
Acronis Disk Director 11 Advanced 简介 无损硬盘分区工具,可以扩大C盘容量 Acronis Disk Director 11 Advanced 是一个功能强大且易于使用的工具,用于在本地或远程计算机上管理磁盘和卷。您可以通过一整套操作组织您的硬盘和卷配置,以获得最佳性能,同时保持数据安全。 主要功能 Acronis Disk Director 提供许多功能,包括: 同时创建基本卷和动态卷 此实用的创建卷向导已改进,以支持动态卷的创建。现在,除了基本卷以外,您还可以轻松地在 Acronis Disk Director 中创建动态卷,以便: 使用跨区卷增加超出单个磁盘容量的卷大小 使用带区卷缩短对文件的访问时间 使用镜像和 RAID-5 卷实现容错* 新!添加、移除或中断镜像卷* 通过添加镜像,只需一个操作便可使基本卷或简单卷容错。如果您需要包含镜像之一的磁盘上额外的未分配空间,请移除一个镜像。中断镜像卷可获得两个具有初始内容相同的独立的简单卷。 将一种类型的卷复制或移动为另一类型的卷 复制或移动时,更改卷类型。例如,您可以将镜像卷的内容复制到跨区卷。 将主卷转换为逻辑卷以及将逻辑卷转换为主卷 将主卷转换为逻辑卷,以在当前拥有四个主卷的磁盘上创建第五个卷。 修复 RAID-5 卷 通过在另一磁盘上重建故障成员的数据还原 RAID-5 卷性能。 将基本磁盘转换为动态磁盘以及将动态磁盘转换为基本磁盘 将现有基本磁盘转换为动态磁盘以便为数据存储实现额外的磁盘可靠性。 将 GPT 磁盘转换为 MBR 磁盘以及将 MBR 磁盘转换为 GPT 磁盘 将磁盘分区方案更改为所需的方式。 导入外部磁盘 使从另一计算机上添加的动态磁盘可为系统访问。 更改磁盘状态:从线上更改为离线以及从离线更改为线上* 将磁盘状态更改为离线以防止意外使用。 磁盘克隆 磁盘克隆向导让您可以将旧的基本 MBR 磁盘更换为新磁盘,且无需重新安装操作系统和应用程序。它会将所有源磁盘数据传输到目标磁盘。源磁盘卷可“按原样”克隆到目标磁盘,或根据目标磁盘大小自动调整大小。 磁盘和卷管理操作 体验各种磁盘和卷管理操作: 调整卷大小、移动、复制、分割和合并卷且不造成数据丢失或损坏 对卷进行格式化并分配卷标,更改文件系统、簇大小,分配卷号和将卷设置为活动卷 删除卷和清理磁盘 隐藏/取消隐藏卷 指定 i 节点密度 初始化新添加的硬盘 执行操作前,导出卷数据(包括 Linux 卷上的数据) 应用更改前,预览对磁盘和卷布局所作的更改 浏览有关所有硬盘、卷和文件系统的详细信息

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧