System.Management и информация о материнской плате - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Нужна не большая помощь. Вот есть такой вот код
 
    static void Main(string[] args)
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(
           "SELECT * FROM Win32_MotherboardDevice");
            ManagementObjectCollection information = searcher.Get();
            foreach (ManagementObject obj in information)
                foreach (PropertyData data in obj.Properties)
                    Console.WriteLine("{0} = {1}", data.Name, data.Value);
            Console.ReadKey();
        }
На экран выводится сообщение и все нормально работает и выдает то что показано на картинке. И тут у меня есть 3 вопроса: 1. Правильно ли я понимаю что DeviceID - это серийный номер материнской платы ? 2. Нормально ли что поле DeviceID имеет значение Motherboard ? 3. Если это серийный номер могу ли я каким-то образом вытаскивать именно значение поля DeviceID ? Нужно оно для того чтобы программа не копировалась.

Решение задачи: «System.Management и информация о материнской плате»

textual
Листинг программы
 /// <summary>
        /// Метод для получения Processor ID
        /// </summary>
        /// <returns>Processor ID</returns>
        static string GetpID() {
            string pID = string.Empty;
            try {
                SelectQuery query = new SelectQuery("Win32_processor");
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
                ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
                while (enumerator.MoveNext()) {
                    ManagementObject info = (ManagementObject)enumerator.Current;
                    pID = info["processorId"].ToString().Trim();
                }
            }
            catch {
                pID = "EC90BA";
            }
            if (string.IsNullOrWhiteSpace(pID)) {
                pID = "EC90BA";
            }
            return pID.GetHashCode().ToString("X");
        }
        /// <summary>
        /// Метод для получения MotherBoard ID
        /// </summary>
        /// <returns>Motherboard ID</returns>
        static string GetmbID() {
            string mbID = string.Empty;
            try {
                SelectQuery query = new SelectQuery("Win32_BaseBoard");
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
                ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
                while (enumerator.MoveNext()) {
                    ManagementObject info = (ManagementObject)enumerator.Current;
                    mbID = info["SerialNumber"].ToString().Trim();
                }
            }
            catch {
                mbID = "AB83BD";
            }
            if (string.IsNullOrWhiteSpace(mbID)) {
                mbID = "AB83BD";
            }
            return mbID.GetHashCode().ToString("X");
        }
        /// <summary>
        /// Метод для получения VideoController_RAM ID
        /// </summary>
        /// <returns>Videocontroller_RAM ID</returns>
        static string GetvID() {
            string vID = string.Empty;
            try {
                SelectQuery query = new SelectQuery("Win32_VideoController");
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
                ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
                while (enumerator.MoveNext()) {
                    ManagementObject info = (ManagementObject)enumerator.Current;
                    vID = info["AdapterRAM"].ToString().Trim();
                }
            }
            catch {
                vID = "FE51DC";
            }
            if (string.IsNullOrWhiteSpace(vID)) {
                vID = "FE51DC";
            }
            return vID.GetHashCode().ToString("X");
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5