VC#. Как получить информацию о процессоре, GPU, ОЗУ, BIOS. Вывод характеристик ПК. Урок 34

Поделиться
HTML-код
  • Опубликовано: 20 мар 2020
  • #csharp #hardwareinfo #wmi
    Поддержать проект - www.donationalerts.ru/r/bytepp
    В этом уроке вы узнаете как вывести характеристики пк на C#. Вы узнаете как вывести информацию о процессоре, оперативной памяти, видеокарте, BIOS, диске, клавиатуре, чипсете и т.д.
    Подписывайтесь на канал, ставьте лайки, задавайте вопросы в комментариях!

Комментарии • 40

  • @angryrick1406
    @angryrick1406 Год назад +5

    Спасибо, благодаря тебе я написал и сдал Курсовую в прошлом году

  • @user-zt2di1lu8p
    @user-zt2di1lu8p 9 месяцев назад +1

    Отличное видео! Большое спасибо за уроки!

  • @user-tv7tl9hy9l
    @user-tv7tl9hy9l 3 года назад +15

    Процессор
    Win32_Processor
    Видеокарта
    Win32_VideoController
    Чипсет
    Win32_IDEController
    Батарея
    Win32_Battery
    Биос
    Win32_BIOS
    Оперативная память
    Win32_PhysicalMemory
    Кэш
    Win32_CacheMemory
    USB
    Win32_USBController
    Диск
    Win32_DiskDrive
    Логические диски
    Win32_LogicalDisk
    Клавиатура
    Win32_Keyboard
    Сеть
    Win32_NetworkAdapter
    Пользователи
    Win32_Account
    /////////
    Процессор
    Видеокарта
    Чипсет
    Батарея
    Биос
    Оперативная память
    Кэш
    USB
    Диск
    Логические диски
    Клавиатура
    Сеть
    Пользователи

  • @igorcoolman
    @igorcoolman 4 года назад +9

    хотелось бы более подробное объяснение, что делает тот или иной метод, а не так что для этого мы используем метод, а что этот метод делает не понятно.

  • @evillspeed
    @evillspeed Год назад

    Недопустимый запрос..

  • @mr.pirmuale2726
    @mr.pirmuale2726 2 года назад +1

    Подскажите! У меня "Недопустимый запрос", варианты с комментов попробовал, не помогает!

  • @user-nl9uj2gn1s
    @user-nl9uj2gn1s 3 года назад +1

    Где файл в "описании к видео?

  • @incorrect_composition
    @incorrect_composition 2 года назад

    Подскажите что делать, я решил вместо комбобокс использовать табконтрол, что бы переключаться между вкладками, и когда я нажимаю на любую вкладку показывается инфа только о процессоре, допусти нажал на видеокарту а показывает процессор..нажал на биос показывает процессор ,уже пол часа мучаюсь

  • @Supprt-dn9nn
    @Supprt-dn9nn Год назад

    Как можно получить информацию о первичных и вторичных таймингах ОЗУ из биоса?

  • @prodam_noyt7632
    @prodam_noyt7632 Год назад

    Недопустимый запрос. Помогите пожалуйста. Не понимаю в чем ошибка

  • @igorcoolman
    @igorcoolman 4 года назад

    а как узнать ssd диск или нет?

  • @kerim7002
    @kerim7002 3 года назад +4

    namespace HardWareInfo
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    string key = string.Empty;
    switch (toolStripComboBox1.SelectedItem.ToString())
    {
    case "Процессор":
    key = "Win32_Processor";
    break;
    case "Видеокарта":
    key = "Win32_VideoController";
    break;
    case "Чипсет":
    key = "Win32_IDEController";
    break;
    case "Батарея":
    key = "Win32_Battery";
    break;
    case "Биос":
    key = "Win32_BIOS";
    break;
    case "Оперативная память":
    key = "Win32_PhysicalMemory";
    break;
    case "Кэш":
    key = "Win32_CacheMemory";
    break;
    case "USB":
    key = "Win32_USBController";
    break;
    case "Диск":
    key = "Win32_DiskDrive";
    break;
    case "Логические диски":
    key = "Win32_LogicalDisk";
    break;
    case "Клавиатура":
    key = "Win32_Keyboard";
    break;
    case "Сеть":
    key = "Win32_NetworkAdapter";
    break;
    case "Пользователь":
    key = "Win32_Account";
    break;
    default:
    key = "Win32_Processor";
    break;
    }
    GetHardWareInfo(key, listView1);
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    toolStripComboBox1.SelectedIndex = 0;
    }
    private void GetHardWareInfo(string key, ListView list)
    {
    list.Items.Clear();
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM " + key);
    try
    {
    foreach (ManagementObject obj in searcher.Get())
    {
    if (obj.Properties.Count == 0)
    {
    MessageBox.Show("Не удалось получить информацию", "Ошибка",
    MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
    }
    ListViewGroup listViewGroup;
    try
    {
    listViewGroup = list.Groups.Add(obj["Name"].ToString(),
    obj["Name"].ToString());
    }
    catch (Exception ex)
    {
    listViewGroup = list.Groups.Add(obj.ToString(), obj.ToString());
    }
    foreach (PropertyData data in obj.Properties)
    {
    ListViewItem item = new ListViewItem(listViewGroup);
    if (list.Items.Count % 2 == 0)
    {
    item.BackColor = Color.WhiteSmoke;
    }
    item.Text = data.Name;
    if (data.Value != null && !string.IsNullOrEmpty(data.Value.ToString()))
    {
    string resStr = string.Empty;
    switch (data.Value.GetType().ToString())
    {
    case "System.String[]":
    string[] stringData = data.Value as string[];
    //string resStr1 = string.Empty;
    foreach (string s in stringData)
    {
    resStr += s + " ";
    }
    item.SubItems.Add(resStr);
    break;
    case "System.UInt16[]":
    ushort[] ushortData = data.Value as ushort[];
    //string resStr2 = string.Empty;
    foreach (ushort us in ushortData)
    {
    resStr += us.ToString() + " ";
    }
    item.SubItems.Add(resStr);
    break;
    default:
    item.SubItems.Add(data.Value.ToString());
    break;
    }
    list.Items.Add(item);
    }
    }
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
    MessageBoxIcon.Error);
    }
    }
    }
    }

  • @z0rd.154
    @z0rd.154 4 года назад

    Может быть сделать таймер? :) навомодный

  • @h1_uz
    @h1_uz Год назад

    Доброго времени суток, возникла ошибка с MessageBox. Может кто-нибудь сможет помочь? Я просто не силен в программировании, но курсач надо сдать

  • @demonstalker_game_developer
    @demonstalker_game_developer 4 года назад

    Здравствуйте! Всё также делал, как и Вы! Всё перепроверил, видео посмотрел несколько раз! Когда запускаю, вылезает ошибка "Недопустимый запрос"! Не подскажите, в чём может быть причина?

    • @Bytepp
      @Bytepp  4 года назад

      Возможно от имени администратора запускать надо

    • @demonstalker_game_developer
      @demonstalker_game_developer 4 года назад

      @@Bytepp Спасибо! Но не помогло! А может причина быть в том, что эта форма открывается из другой формы?

  • @flaskk1
    @flaskk1 Год назад

    Здравствуйте, у меня отображаются пустые значение, в чем может быть причина?

    • @flaskk1
      @flaskk1 Год назад

      Windows 11, x64

    • @flaskk1
      @flaskk1 Год назад

      Хотя на вкладке Bios, где пишет BiosVersion показывает инфу, а всё остальное - нет

  • @TravelToday_Official
    @TravelToday_Official Год назад

    код не рабочий

  • @hekto_pyc9998
    @hekto_pyc9998 4 года назад

    Здравствуйте) Вчера весь вечер искал информацию как создавать графические приложения на машинном уровне. Я сам для контролеров avr пишу программы на с++ и асемблере. Спаял матрицу из светодиодов, написал программу которая считывает и записывает информацию с sd флешки на 2гига,я туда записал алфавит. Дописал программу для клавиатуры от пк благодаря которой можно выводить символы на экран. Вот минутный ролик со сборкой ruclips.net/video/yAqzvc3ppz0/видео.html Но как на машинном уровне выводить символы, рисовать графику на компьютере без посторонних программ? Подскажите пожалуйста что надо изучать. На avr все просто, к матрице на столбци и строки подключил сдвиговые регистры и управляя ими я могу рисовать все что угодно, хоть операционку. Много изучаю, самоучка, но щас гоп стоп словил, не знаю что надо изучать чтоб сделать задуманное. Очень выручите.

    • @Bytepp
      @Bytepp  4 года назад +1

      Крутой ты проект замутил 😎 я думаю что нужно WinApi посмотреть, в Винде всякие подобные штуки с помощью системных функций делаются.
      Есть вот функция DrawText например. Ну и библиотеки виднусятские подключать надо для их вызова user32.dll и kernel32.dll. Точнее не могу сказать, не пробовал такого))

    • @hekto_pyc9998
      @hekto_pyc9998 4 года назад

      @@Bytepp проект правда хорош, сам проработал вид изделия, как крепить и монтировать, рассчитал схему, спаял, написал программу.. И понял что могу операционную систему создать, свой язык программирования, в общем эврика 😁 меня посетила и я понял принцип всего. Сам разработал лёд куб 8×8×8, написал на асемблере программу и можно с пк клавиатуры также выводить символы но только в 3d. А недавно решил поиграть с мониторами чтоб с клавиатуры выводить информацию на жк телевизоре. Решил в начале попробовать как на компе это делается на машинном уровне, но информации не нашёл. Второй день гугл и ютюб трещат но ни чего не нашёл. Возможно не правильно ищу так как не знаю что искать. Бросился во все тяжкие, спрашиваю у программистов.) Мысль понял вашу, просмотреть бмблеотеки в вин апи, системные функции. Надо попробовать, может поможет, спасибо)

    • @Bytepp
      @Bytepp  4 года назад +1

      @@hekto_pyc9998, успехов))

    • @hekto_pyc9998
      @hekto_pyc9998 4 года назад

      @@Bytepp мне бы зацепится, нарисовать хоть квадратик без сторонних программ, дальше бы уже сам операционку начал писать и язык программирования на старославянском, пусть примитивно и долго, зато новое и можно свои мини компы создавать для чпу станков, теплиц и т.д. Вам тоже успехов и достижения ваших целей)

    • @Bytepp
      @Bytepp  4 года назад +1

      @@hekto_pyc9998, благодарю))

  • @maxasus6561
    @maxasus6561 Год назад

    Привет всем . Запускаю и выводит только значения процессора ( по дефолту) и так во всех вкладках. Хелп)

    • @maxasus6561
      @maxasus6561 Год назад

      отбой, сам понял ошибку)

    • @prodam_noyt7632
      @prodam_noyt7632 Год назад

      приветствую. у меня программа выводит ошибку "недопустимый вопрос" и все поля пустые. Был бы очень благодарен, если бы ты объяснил мне в чем моя проблема

  • @user-qy8pj4fd3w
    @user-qy8pj4fd3w 3 года назад

    "Недопустимый запрос" , что делать? От админа запускал

    • @Bytepp
      @Bytepp  3 года назад

      Какие-то устройства отсутствуют в твоём ПК значит. Попробуй для начала только о процессоре инфу вывести

    • @trovtrov5865
      @trovtrov5865 3 года назад +4

      ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM " + key);
      Скорее всего ты забыл пробел после FROM

    • @Maxim_Pe4enka
      @Maxim_Pe4enka Год назад

      ​@@trovtrov5865 в бог, как ты догадался🎉

  • @Baq152RUS
    @Baq152RUS 3 года назад

    переходи на черную сторону :)

    • @Bytepp
      @Bytepp  3 года назад +1

      В теме светлой силу чую я)))