반응형

* C# WMI 를 이용한 하드 디스크 온도 체크 예제 (HDD Temperature)

- WMI 를 사용하기 위해 참조 -> System.Management dll 을 추가 -> 소스 코드 using System.Management

 

Main

전체 소스 코드

Form1.cs

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Management;

namespace CSharp_HDDTemperature
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            //타이머 시간 1초
            timer1.Interval = 1000;
        }

        protected override void OnClosed(EventArgs e)
        {
            timer1.Stop();
            base.OnClosed(e);
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        void HDDTemperatrue()
        {
            //WMI 테이블명
            string diskTemperature = "MSStorageDriver_ATAPISmartData";

            try
            {
                //WMI 쿼리 
                ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From " + diskTemperature);

                foreach (System.Management.ManagementObject mo in mos.Get())
                {
                    byte[] data = (byte[])mo.GetPropertyValue("VendorSpecific");
                    diskTemperature = data[3].ToString();
                    Label1.Text = diskTemperature.ToString();
                }
            }
            catch
            {
                diskTemperature = "";
            }
        }


        private void timer1_Tick(object sender, EventArgs e)
        {
            HDDTemperatrue();
        }
    }
}

*예제 결과

 

결과화면

 

 

https://kdsoft-zeros.tistory.com/153

 

[VBNET] [WMI] HDD Temperature (하드디스크 온도 체크)

* VBNET WMI 를 이용한 하드 디스크 온도 체크 예제 (HDD Temperature) 전체 소스 코드 Form1.vb Imports System.Management Imports Microsoft.Win32 Imports System.Collections Public Class Form1 Dim tmr As..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts