반응형

*VBNET WMI 를 이용한 실시간 메모리 사용량 체크 (Memory Check) 예제...

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

 

Main

 

전체 소스 코드

Form1.vb

 

Imports System.Management

Public Class Form1

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        'Timer Start
        timer1.Start()
    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
        'Timer Stop
        timer1.Stop()
    End Sub

    Private Sub timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer1.Tick
        Dim itotalMem As Integer = 0  ' 총 메모리 KB 단위
        Dim itotalMemMB As Integer = 0  ' 총 메모리 MB 단위
        Dim ifreeMem As Integer = 0  ' 사용 가능 메모리 KB 단위
        Dim ifreeMemMB As Integer = 0  ' 사용 가능 메모리 MB 단위

        Dim cls As ManagementClass = New ManagementClass("Win32_OperatingSystem")
        Dim moc As ManagementObjectCollection = cls.GetInstances()

        For Each mo As ManagementObject In moc
            itotalMem = Integer.Parse(mo("TotalVisibleMemorySize").ToString())
            ifreeMem = Integer.Parse(mo("FreePhysicalMemory").ToString())
        Next

        itotalMemMB = itotalMem / 1024  ' 총 메모리 MB 단위 변경	
        ifreeMemMB = ifreeMem / 1024  ' 사용 가능 메모리 MB 단위 변경 Then

        'Progressbar Max Setting...
        pbTotal.Maximum = itotalMemMB
        pbFree.Maximum = itotalMemMB
        pbUse.Maximum = itotalMemMB

        'Label Display
        lblTotal.Text = itotalMemMB.ToString()
        lblFree.Text = ifreeMemMB.ToString()
        lblUse.Text = (itotalMemMB - ifreeMemMB).ToString()

        'Progressbar Display
        pbTotal.Value = itotalMemMB
        pbFree.Value = ifreeMemMB
        pbUse.Value = (itotalMemMB - ifreeMemMB)
    End Sub

End Class

 

 

*예제 결과

 

아래의 그림과 같이 NoxPlayer 를 켜고 난 뒤 게임을 실행 하면서 메모리 사용량이 변화 하는 것을 WMI 를 이용한

프로그램과 작업관리자 화면 을 동시에 비교 해 봤을 때 변화 하는 것을 볼 수 있습니다. 물론 단위가 작업관리자는 GB 로 나오고 WMI 를 이용해 만든 프로그램은 MB 이지만 1024를 한번 더 나누게 되면 단위는 GB 가 됩니다.

 

또한 소스 코드는 int 형 변수로 구현 했지만  Double 형 변수를 써서 구현 하게 되시면 작업 관리자 화면 처럼 소수점 2번째 자리 까지 표현 하면서 나타낼 수 있습니다.

 

 

 




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

 

[C#] [WMI] 실시간 메모리 사용량 체크 (Memory Check) - Progressbar

*C# WMI 를 이용한 실시간 메모리 사용량 체크 (Memory Check) 예제... - WMI 를 사용하기 위해 참조 -> System.Management dll 을 추가 -> 소스 코드 using System.Management 전체 소스 코드 Form1.cs using Sy..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts