Войти

Показать полную графическую версию : [решено] Метка тома


Efsey
21-09-2010, 08:57
Доброго времени суток. Подскажите способ вытащить метку тома, съемного диска, и их типы на C#.

Delirium
21-09-2010, 09:43
Efsey, скачайте WMI Code Creator (http://www.microsoft.com/downloads/details.aspx?familyid=2cc30a64-ea15-4661-8da4-55bbc145c30e&displaylang=en)
- сбор данных о компьютере и системе, получение сетевых параметров и другие возможности (локально и удаленно). Программа создает готовый исходный код на VBSCRIPT, C#, VB.NET.

Открываем, выбираем в верхнем списке root\CIMV2, в поле classes - Win32_DiskDrive и внизу будет список свойств. Выбираем любое, жмем "Search for properties..". Получаем ответ. В окне справа будет готовый код. В верхнем меню выбираем нужный язык(С#).

Efsey
21-09-2010, 13:08
Спасиб, вот только не могу понять как перевести этот код с консоли хотя бы на лабел.текст

foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.Write("Label: {0}", queryObj["Name"]);
Console.WriteLine(queryObj["Label"]);

LilLoco
21-09-2010, 13:36
А почему бы просто не воспользоваться DriveInfo, через него можно узнать необходимую информацию!

Например :


using System.IO;
..........................
DriveInfo DI = new DriveInfo("C:\\");
string Type = DI.DriveType //тип диска
string Name = DI.Name; //имя диска
string LabelName = DI.VolumeLabel; //метка тома
.........................

Ну и выводить куда вздумается, будь то листбокс или текстбокс!

Efsey
21-09-2010, 13:53
LilLoco, что там нужно еще прописать, кроме using System.IO; ? А то у меня на str ругается.

LilLoco
21-09-2010, 13:58
ой ой ой!!! Совсем у меня крыша поехала :lol: :lol: :lol: Там не str а тип string! простите пожалуйста!

Efsey
21-09-2010, 14:04
Тут есть еще одна задачка, это перечисление все доступных дисков

LilLoco
21-09-2010, 18:14
все доступные диски можно взять так(например добавляем в листбох):

string[] Drives = Environment.GetLogicalDrives();
foreach (string Drive in Drives)
{
listBox1.Items.Add(Drive);
}

Выведется список всех дисков!!!

Delirium
22-09-2010, 01:01
Я привел унифицированный пример, позволяющий выловить кучу информации как с локального, так и с удаленного компьютера.
не могу понять как перевести этот код с консоли хотя бы на лабел.текст
Код:
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.Write("Label: {0}", queryObj["Name"]);
Console.WriteLine(queryObj["Label"]); »


TextBox1.Text = queryObj["Name"].ToString();
TextBox2.Text = queryObj["Label"].ToString();




© OSzone.net 2001-2012