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 Twitter
Referências: