Ir para o conteúdo
startuga

[Resolvido] Explicação de Código

Mensagens Recomendadas

startuga

Têm como alguem me explicar este codigo?

Imports System.Management

Public Class phoenix_informacaosistema1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Searcher As ManagementObjectSearcher
       Dim Device As ManagementObject
       Dim Computer As TreeNode
       Dim DeviceName As TreeNode
       Dim i As Integer
       Dim w As Integer

       trvDevices.BeginUpdate()
       lsvProperties.BeginUpdate()
       Try
           Me.Cursor = Cursors.WaitCursor

           GroupBox1.Enabled = False
           GroupBox2.Enabled = False

           trvDevices.Nodes.Clear()

           Searcher = New ManagementObjectSearcher("Select * from Win32_ComputerSystem")
           For Each device In Searcher.get
               Computer = trvDevices.Nodes.Add(device.item("caption").ToString)
           Next

           pBar.Value = 0
           pBar.Maximum = DevicesArr.Length
           pBar.Visible = False

           For i = 0 To DevicesArr.Length - 1
               pBar.Value += 1
               Try
                   DeviceName =
                       Computer.Nodes.Add(DevicesArr(i).Replace("Win32_", ""))
                   Searcher = New ManagementObjectSearcher("Select * from " & DevicesArr(i))
                   For Each Device In Searcher.get
                       DeviceName.Nodes.Add(Device.item("Caption").ToString)
                   Next
               Catch ex As Exception
               Finally
               End Try
           Next
           pBar.Visible = False
       Catch ex As Exception
       Finally
           Computer.Expand()
           GroupBox1.Enabled = True
           GroupBox2.Enabled = True
           trvDevices.EndUpdate()
           lsvProperties.EndUpdate()
           Me.Cursor = Cursors.Default

       End Try

   End Sub

   Private Sub trvDevices_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles trvDevices.AfterSelect
       Dim Searcher As ManagementObjectSearcher
       'Dim Device As ManagementObject
       Dim Path() As String

       lsvProperties.BeginUpdate()

       Path = e.Node.FullPath.Split("\")
       If Path.Length = 3 Then
           lsvProperties.Items.Clear()
           Searcher = New ManagementObjectSearcher("Select * From Win32_" & Path(1))
           For Each Device As ManagementObject In Searcher.Get
               If Device.Item("Caption").ToString = Path(2) Then
                   Dim Itm As ListViewItem
                   For Each Prop As PropertyData In Device.Properties
                       'lsvProperties.Items.Add(Prop.Name.ToString).SubItems.Add(Prop.Value.ToString)
                       Itm = lsvProperties.Items.Add(Prop.Name.ToString)
                       If Not IsNothing(Prop.Value) Then
                           Itm.SubItems.Add(Prop.Value.ToString)
                       Else
                           Itm.SubItems.Add("")
                       End If
                   Next
               End If
           Next
       End If
       lsvProperties.EndUpdate()

   End Sub

   Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
       lsvProperties.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)
   End Sub

   Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim W As Integer

       W = lsvProperties.Width / 2
       lsvProperties.Columns.Add("Property", W)
       lsvProperties.Columns.Add("Value", W)
       lsvProperties.View = View.Details
       lsvProperties.GridLines = True

       Button1_Click(sender, e)


   End Sub

Editado por pmg
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruiribeiro

À primeira vista parece ser um form com uma treeview e uma listview

Na treeview estão a ser carregados os dispositvos presentes na máquina

Ao seleccionares um desses dispositivos, aparece na listview uma lista de Propriedades/valor

Basicamente, isto trata-se de uma implementação de utilização de WMI (Windows Management Instrumentation) em vb.net, para obter Informações de sistema.

Editado por ruiribeiro

Rui Ribeiro

.NET/T-SQL, JAVA, PHP, Javascript Developer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
startuga

À primeira vista parece ser um form com uma treeview e uma listview

Na treeview estão a ser carregados os dispositvos presentes na máquina

Ao seleccionares um desses dispositivos, aparece na listview uma lista de Propriedades/valor

Basicamente, isto trata-se de uma implementação de utilização de WMI (Windows Management Instrumentation) em vb.net, para obter Informações de sistema.

Obrigado, já agora outra coisa se me poder ajudar,

- Pelo que consegui intender minimamente do código está a ser utilizado um ciclo "for" ou mais que um, o que fazem exactamente esses ciclos ?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruiribeiro

	    Searcher = New ManagementObjectSearcher("Select * from Win32_ComputerSystem")
	    For Each device In Searcher.get
		    Computer = trvDevices.Nodes.Add(device.item("caption").ToString)
	    Next

vê bem este loop... o que achas que ele faz ?

Editado por ruiribeiro

Rui Ribeiro

.NET/T-SQL, JAVA, PHP, Javascript Developer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
startuga

Searcher = New ManagementObjectSearcher("Select * from Win32_ComputerSystem")
For Each device In Searcher.get
Computer = trvDevices.Nodes.Add(device.item("caption").ToString)
Next

vê bem este loop... o que achas que ele faz ?

Pelo aquilo que eu consegui entender

O programa vai fazer uma pesquisa através do "Win32_ComputerSystem".

Depois cada dispositivo que for encontrado será colocado dentro da "trv, treeview". Contudo continuo sem entender o que faz o próximo ciclo "for".

Next

           pBar.Value = 0
           pBar.Maximum = DevicesArr.Length
           pBar.Visible = False

           For i = 0 To DevicesArr.Length - 1
               pBar.Value += 1
               Try
                   DeviceName =
                       Computer.Nodes.Add(DevicesArr(i).Replace("Win32_", ""))
                   Searcher = New ManagementObjectSearcher("Select * from " & DevicesArr(i))
                   For Each Device In Searcher.get
                       DeviceName.Nodes.Add(Device.item("Caption").ToString)
                   Next
               Catch ex As Exception
               Finally
               End Try
           Next
           pBar.Visible = False
       Catch ex As Exception

       Finally

Se me puderem ajudar agradecia;

Editado por thoga31
Tags code + GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.