Visual Basic: Resgatando Variáveis de Ambiente

Variáveis de ambiente são variáveis que contém informações do sistema. Por exemplo o caminho da pasta “Arquivos de Programas”. Dependendo do idioma que o computador[bb] estiver configurado esta pasta pode ter outro nome, assim como o sistema pode não ter sido instalado no tradicional Drive C:.

Outro tipo de informação que pode ser resgatada seguindo essa linha[bb], é a pasta “Meus Documentos”. O caminho para está pasta pode ser alterado, ou seja, a pasta “Meus Documentos”, pode ser a pasta “D:documentos”, como poderão ver na imagem abaixo que representa o código desenvolvido como exemplo, exibindo as variáveis de sistema da minha máquina[bb].

Para esse teste criei um formulário com os seguintes objetos:

  • Um Button chamado btnCarregarVariaveis;

  • e um ListBox chamado lbVar;

Vamos ao código.

Antes de mais nada você deve importar a classe responsável pelas variáveis de ambiente.

Imports System.Environment

Para o botão:

Private Sub btnCarregarVariaveis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarregarVariaveis.Click
lbVar.Items.Clear()
lbVar.Items.Add("Meus Documentos: " & GetFolderPath(SpecialFolder.MyDocuments))
lbVar.Items.Add("Arquivos de Programas (x86): " & GetFolderPath(SpecialFolder.ProgramFiles))
lbVar.Items.Add("Pasta System32: " & GetFolderPath(SpecialFolder.System))
lbVar.Items.Add("Desktop: " & GetFolderPath(SpecialFolder.Desktop))
lbVar.Items.Add("----------------------------")
lbVar.Items.Add("Drives do Sistema: " & Join(GetLogicalDrives, ", "))
lbVar.Items.Add("Nome do Computador: " & MachineName)
lbVar.Items.Add("Versão do Sistema: " & OSVersion.VersionString)
End Sub

O que estou fazendo.

Linha 2: limpo o ListBox para caso clique duas vezes no botão não preencha duas vezes.

A partir da linha 3 começo a adicionar as variáveis de ambiente ao meu ListBox por meio da função Add da propriedade Items.

Nas linhas 3, 4, 5 e 6 estou utilizando a função GetFolderPath para retornar as variáveis que correspondem a caminhos do sistema, como por exemplo na linha 5 onde é retornado a pasta System32. A função GetFolderPath recebe como parâmetro um Enum SpecialFolder. Com o Enumeration SpecialFolder, temos acesso às pastas do sistema.

Linha 8: Nessa linha utilizei a função GetLogicalDrives que retorna um array com os Drives do sistema, por isso utilizei também a junção Join que retorna uma String a partir de um array, tendo como segundo parâmetro uma String que será utilizada para separar os itens do array.

Linha 9: Função MachineName retorna o nome da máquina.

Linha 10: Propriedade OSVersion contém informações do sistema. Propriedade VersionString retorna a versão do sistema.

É isso galera até uma próxima.