Tag: driveinfo

设置Drive VolumeLabel

我正在开发一个小实用程序,我想更改连接到计算机的闪存驱动器上的卷标。 我知道DriveInfo能够做到这一点,但我不知道如何实现它。 如果有人有代码示例我会非常感激。 这是我目前拥有的: DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { if (d.IsReady && d.DriveType == DriveType.Removable) { //set volume label here } }

检测驱动器c中的DVD插入的最佳方法#

我尝试使用WMI使用以下代码检测磁盘驱动器中的新媒体插入。 但是有没有管理解决方案,比如在DriveInfo.GetDrives的后台线程中使用循环? 哪种方法最好? 当我尝试下面的代码时,我得到’磁盘不在驱动器中请插入磁盘’对话框中止,重试并继续在其他PC上按钮? 在机器上它工作正常。 private void DriveWatcher() { try { var wqlEventQuery = new WqlEventQuery { EventClassName = “__InstanceModificationEvent”, WithinInterval = new TimeSpan(0, 0, 1), Condition = @”TargetInstance ISA ‘Win32_LogicalDisk’ and TargetInstance.DriveType = 5″ }; var connectionOptions = new ConnectionOptions { EnablePrivileges = true, Authority = null, Authentication = AuthenticationLevel.Default }; var managementScope = […]

如何获取驱动器号和名称(卷标)

我有一个程序告诉我所有的硬盘/ usb,但它只告诉我驱动器号不是名字。 这是我有的: DriveInfo[] drives = DriveInfo.GetDrives(); Console.WriteLine(“Detected Drives: “); for(int i = 0; i < drives.Count(); i++) { Console.WriteLine("Drive " + i + ": " + drives[i].Name); } return drives; 这打印: Drive 0: C:\ Drive 1: E:\ 但我想要这样的名字 Drive 0: C:\ Local disk Drive 1: E:\ Kingston USB 我怎么得到这个?

DriveInfo.GetDrives()在以管理员身份运行时不返回映射驱动器

我正在创建一个WPF应用程序,除其他外应检查是否存在多个映射驱动器。 代码很简单: DriveInfo[] systemDrives = DriveInfo.GetDrives(); foreach (DriveInfo i in systemDrives) { if ((i.Name.Contains(“V”)) && (i.IsReady)) { result = true; break; } } 映射的驱动器将映射到所有用户。 上面的代码作为普通用户运行时工作正常,但是Visual Studio 2010以管理员身份运行,GetDrives方法仅返回固定驱动器和DVD驱动器,但不返回映射驱动器。 如果可执行文件以管理员身份运行,则会发生相同的情 任何想法为什么会这样?

如何在c#中获取可移动磁盘列表?

我想在c#中获取可移动磁盘列表。 我想跳过本地驱动器。 因为我希望用户只将文件保存在可移动磁盘中。

映射的网络驱动器无法在C#中列出

我试图列出我的应用程序中的所有本地驱动器, DriveInfo.GetDrives返回本地驱动器号,我也需要映射驱动器。 目前我有:C:,D:和G:(HDD),E:和F:(CD),以及S:和Z :(映射网络驱动器)。 (是的,它们在Windows资源管理器和Total Commander中都可见。)但是只能以编程方式检索C,D,E,F,G。 我还尝试了Environment.GetLogicalDrives() , GetLogicalDriveStrings (pInvoke) , FindFirstVolume和FindNextVolumen (pInvoke)。 我试图在注册表中找到映射的驱动器列表。 没有任何作用,只有HDD和CD字母被检索。 没有任何exception,直接WinAPI调用中没有指示错误,现在我被卡住了。 这是某种安全设置吗? 在我看的每个地方,人们都说DriveInfo.GetDrives应该回放映射的驱动器。 这是真的吗? 我正在使用Vista Home Pro。 应用程序从本地计算机运行,它也在Visual Studio 2008中构建。 我发布了我使用的内容,但它很简单,我不能做错的事情: foreach (System.IO.DriveInfo di in System.IO.DriveInfo.GetDrives()) Console.WriteLine(di.Name); 结果:C:\ D:\ E:\ F:\ G:\按任意键继续。 。 。 我怎样才能使它工作?

如何正确地将文件大小字节转换为兆字节或千兆字节?

我在我的C#项目中使用DriveInfo类来检索给定驱动器上的可用字节。 如何正确地将此数字转换为兆字节或千兆字节? 除以1024将无法完成这项工作。 结果总是与Windows资源管理器中显示的结果不同。