 VB.NET  - 
Verificando se uma aplicação esta instalada
VB.NET  - 
Verificando se uma aplicação esta instalada
Verificar se uma aplicação esta instalada usando o VB.NET é muito simples: Basta verificar o registro do Windows.
O Namespace Microsoft.Win32 fornece a classe Registry que vou usar para fazer esta verificação. (Na verdade o Namespace Microsoft.Win32 fornece dois tipos de classes : aquelas que tratam eventos disparados pelo sistema operacional e aquelas que manipula o registro.)
Abaixo as classes fornecidas pelo Namespace Microsoft.Win32.
| Classe | Descrição | 
|---|---|
| PowerModeChangedEventArgs | Fornece dados para o evento | 
| Registry | Fornece as Registrykeys que acessam valores e sub-chaves no registro. | 
| RegistryKey | Representa um nó de nível chave no registro. | 
| SessionEndedEventArgs | Fornece dados para o evento SessionEnded . | 
| SessionEndingEventArgs | Fornece dados para o evento SessionEnding . | 
| SystemEvents | Fornece um conjunto de eventos de sistema global . | 
| TimerElapsedEventArgs | Fornece dados para o evento TimerElapsed . | 
| UserPreferenceChangedEventArgs | Fornece dados para o evento UserPreferenceChanged | 
| UserPreferenceChangingEventArgs | Fornece dados para o evento UserPreferenceChanging | 
A classe Registry fornece um conjunto de chaves raiz padrão encontradas no registro das máquinas Windows. O registro é um banco de dados que armazena informações sobre aplicações, usuários e configurações.
Para maiores informações sobre o registro leia o artigo : VB .NET - Trabalhando com o registro do Windows.
Voltando ao nosso artigo iremos escrever uma função que recebe como parâmetro o nome da aplicação que desejamos verificar se esta instalada e a seguir faz a verificação pela chave no registro do Windows.
O código da função é dado a abaixo :
| Function IsAplicacaoInstalada(ByVal pSubKey As String) As Boolean Dim isInstalada As Boolean = False ' Declara uma variável do tipo RegistryKey chamada raizRegistryKey ' Atribuir a chave do ClassRoot do Registro para uma variavel raizRegisteryKey Dim classesRootRegistryKey As RegistryKey = Registry.ClassesRoot ' Declara uma variavel do tipo RegistryKey chamada subKeyRegistryKey. ' Chama o metodo OPenSubKey de raizRegistryKey passando o parametro na pSubKey nesta funcao ' Atribuir o resultado retornado a suKeyRegistryKey. Dim subKeyRegistryKey As RegistryKey = classesRootRegistryKey.OpenSubKey(pSubKey) ' Se subKeyRegistryKey tem um valor atribuido... If Not subKeyRegistryKey Is Nothing Then ' A chave existe e a aplicação esta instalada isInstalada = True ' Fecha o subKeyRgisteryKey. subKeyRegistryKey.Close() End If Return isInstalada End Function 
 | 
Agora é só você usar a função informando o nome da aplicação. Uma das formas seria você criar um novo projeto no VB.NET e no formulário padrão incluir uma caixa de texto - txtAplicacao - e um botão de comando - btnVerificar -.
Inclua a função no formulário e a seguir no evento clique do botão de comando - btnVerificar - inclua o seguinte código :
| Private
    Sub Button1_Click(ByVal 
    sender As System.Object,
    ByVal e 
    As System.EventArgs)
    Handles 
    btnVerificar.Click 
    
    Dim msg 
    As
    
    String msg = " << Esta instalada >> " Else msg = " << NÃO esta instalada >> " End If MessageBox.Show(" A aplicação " & txtAplicacao.Text & msg) End Sub | 
Após informar o nome da aplicação e clicar no botão você obterá:

Obs: Como sugestão para testes use : Excel.Application , Access.Application, PowerPoint.Application ,PBrush, etc.
Eu sei , é apenas 
VB.NET , mas eu gosto..
| 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 Facebook
  
 Compartilhe no Twitter
 
Compartilhe no Twitter 
Referências: