Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2011, 21:45   #1
xil
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 98
По умолчанию Серийный номер hdd через wmi

Доброго времени суток.
Необходимо найти серийный номер жесткого диска, делая так:
Код:
public string GetHDDSerialNumber()
{
     ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
     foreach (ManagementObject hdd in searcher.Get())
     {
          string serialhdd = hdd["SerialNumber"].ToString().Trim();
          if (serialhdd != "")
          {
               MessageBox.Show(serialhdd);
               return serialhdd;
          }
     }
     return null;
}
тестили на нескольких компех
на моем компе (win 7 масимальная), на виртуальной машине (XP prof sp2) и еще на двух (не знаю какие там оси) все определяет, а еще на одном компе (XP не знаю какая именно) возвращает null.

Помогите разобраться в чем может быть причина такого поведения.
Как вы сформулируете вопрос так вам и ответят
xil вне форума Ответить с цитированием
Старый 07.09.2011, 17:39   #2
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

У меня в этом классе почти все поля пустые. Наверное винда не договорилась с хардом.
the_deer_one вне форума Ответить с цитированием
Старый 07.09.2011, 18:08   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

В VB у меня все показывает
Код:
 Public Sub DiskDrive()
        Dim ppid As String = ""
        Try
            Dim searcher As New ManagementObjectSearcher( _
                "root\CIMV2", _
                "SELECT * FROM Win32_DiskDrive WHERE InterfaceType='IDE'")
            For Each queryObj As ManagementObject In searcher.Get()

                ppid +=  "Caption:" & queryObj("Caption").ToString() & VBCRLF
                ppid+ =  "Model:" & queryObj("Model").ToString() & VBCRLF

                ppid+ = ppid & "Signature:" & queryObj("Signature").ToString() & VBCRLF


            Next

        Catch
        End Try
    End Sub
Результат

Caption: ST3160815AS
Model: ST3160815AS
Signature: 294326667
Caption: WDC WD5000AAKS-00A7B2
Model: WDC WD5000AAKS-00A7B2
Signature: 2554566723
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 07.09.2011 в 18:21.
doober вне форума Ответить с цитированием
Старый 08.09.2011, 12:04   #4
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Я так температуру чего-то пытался достать. На одном компе есть - на другом нету.
the_deer_one вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Серийный номер винчестера NetSpace Компьютерное железо 28 30.03.2012 14:17
Серийный номер HDD ?! $T@LKER Общие вопросы Delphi 32 26.02.2011 10:55
по букве тома определить физический серийный номер накопителя, а не номер тома @лександр Помощь студентам 6 23.09.2010 15:05
Серийный номер флешки best island Общие вопросы .NET 0 19.07.2010 01:47
Серийный номер HDD Mikola-TEAM Win Api 1 25.05.2010 19:38