VB .NET - Exibindo a memória disponível e o uso do processador
![]() |
Neste artigo eu vou mostrar como calcular e exibir a memória usada e a disponível e o percentual de uso do processador em uma aplicação Windows Forms usando a linguagem VB .NET. |
Neste artigo eu vou usar objeto My.Computer, que permite obter propriedades para manipular os componentes do computador, como áudio, o relógio, o teclado, o sistema de arquivos e assim por diante, para obter informações da memória e do processador usado.
Mais especificamente estarei usando os recursos de My.Computer.Info que fornece propriedades para obter informações sobre a memória do computador, assemblys carregados, nome e sistema operacional.
As propriedades disponíveis da classe ComputerInfo são:
AvailablePhysicalMemory | |
AvailableVirtualMemory | |
InstalledUICulture | |
OSFullName | |
OSPlatform | |
OSVersion | |
TotalPhysicalMemory | |
TotalVirtualMemory |
Vamos usar também a classe PerformanceCounter que representa um componente contador de desempenho do Windows NT.
O componente PerformanceCounter pode ser usado tanto para ler contadores predefinidos com customizados e publicar dados de desempenho para contadores personalizados.
O contador é o mecanismo por que os dados de desempenho são coletados.
Para ler um contador de desempenho, crie uma instância da classe PerformanceCounter , defina CategoryName, CounterName, e, opcionalmente, as propriedades InstanceName ou MachineName e em seguida, chame o método de NextValue para tomar a leitura do contador de desempenho.
Recursos usados :
Implementando a leitura de desempenho da memória e CPU
Abra o VS Express 2013 for Windows Desktop e clique em New Project;
A seguir selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome MetricaCPU e clique no botão OK;
A seguir selecione o formulário padrão form1.vb e altere o seu nome para frmAlunos e a seguir inclua, a partir da ToolBox, os seguintes controles:
1 Label - Processador
1 ProgressBar - pgbProcessador
1 Label - Memória
1 ProgressBar - pgbMemoria
3 Labels - Total Memoria, Disponível e Usada
3 Labels - lblTotalMemoria, lblDisponivel, lblUsada
2 Timers - Timer1 e Timer2
1 PerformanceCounter - PerformanceCounter1
Defina as seguintes propriedades do formulário form1.vb:
FormBorderStyle = FixedSingle
ControlBox = False
ShowIcon = False
ShowInTaskBar = False
Opacity = 90%
Defina o leiaute do formulário conforme a figura
abaixo:
![]() |
Declare logo após a declaração formulário as variáveis total e cpu que iremos usar no projeto:
Dim total As Integer
Dim cpu As Integer
A seguir defina o código a seguir no evento Load do formulário para obter o nome do sistema operacional usado:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lblSistema.Text = My.Computer.Info.OSFullName & " " & My.Computer.Info.OSPlatform
End Sub
|
No evento Tick do controle Timer1 defina o código a seguir que obtém a memória física usada e calcula o desempenho da CPU usando o componente PerformanceCounter:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
total = Val(My.Computer.Info.TotalPhysicalMemory) / 1024 / 1024
lblTotalMemoria.Text = total & " MB"
lblMemoriaDisponível.Text = (Int(Val(My.Computer.Info.AvailablePhysicalMemory) / 1024 / 1024)) & " MB"
lblMemoriaUsada.Text = total - Val(lblMemoriaDisponível.Text) & " MB"
pgbMemoria.Maximum = Val(lblTotalMemoria.Text)
pgbMemoria.Value = Val(lblMemoriaUsada.Text)
cpu = PerformanceCounter1.NextValue
lblProcessador.Text = cpu & " %"
End Sub |
No evento Tick do controle Timer2 temos o código exibe na ProgressBar o uso do processador:
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
pgbProcessador.Value = cpu
If pgbProcessador.Value < cpu Then
pgbProcessador.Value += 1
ElseIf pgbProcessador.Value > cpu Then
pgbProcessador.Value -= 1
End If
End Sub
|
Executando o projeto iremos obter:
Pegue o projeto
completo aqui:
Metrica_CPU.zip
Bons códigos...
Porque eu, pela lei, estou morto para a lei,
para viver para Deus.
Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e
a vida que agora vivo na carne, vivo-a pela fé do Filho de Deus, o qual me amou,
e se entregou a si mesmo por mim.
Gálatas 2:19-20
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências: