none
Programa instalado RRS feed

  • Pergunta

  • Olá, gostaria de saber se existe alguma forma de saber se um programa esta sendo instalado no computador.

    Exemplo: iniciei a instalação de um programa qualquer dai quando o programa começa a ser instalado (barrinha de carregamento...) dai nesse momento o código detecta que uma instalação foi iniciada. Isso é possível? Se sim, por favor me indiquem como.

    Desde já muito obrigado!

    segunda-feira, 26 de outubro de 2015 19:40

Respostas

  • Siga o meu código comentado:

     private void IniciarEspiao()
            {
                //desabilita verificação de thread de acordo com os controles
                Control.CheckForIllegalCrossThreadCalls = false;
    
                //instancio a classe FileSystemWatcher para poder trabalhar com ela
                System.IO.FileSystemWatcher _espiao = new System.IO.FileSystemWatcher();
    
                //coloque a pasta responsável pela verificação de instalações,a padrão seria essa
                _espiao.Path = @"C:\Program Files\";
    
                //cria o evento em runtime do objeto e mostrar a ocorrencia da suposta instalação
                _espiao.Created += new FileSystemEventHandler(Evento);
    
                //habilito o objeto para ouvir a pasta e detectar as mudanças
                _espiao.EnableRaisingEvents = true;
            }
    
            private void Evento(object sender, FileSystemEventArgs e)
            {
                //mostro em uma listbox o status do evento
                this.listBox1.Items.Add(String.Format("Dir: {0} - Tipo de alteracao: {1}", e.FullPath, e.ChangeType.ToString()));
            }

    Use o metodo IniciarEspiao() dentro do construtor do Form para que quando o programa iniciar,
    ele já fique ouvindo a pasta.

    Leia mais sobre essa classe AQUI ... recurso bastante poderoso. :)


    Microsoft Technology Associate (MTA)


    • Editado Eduardo xUni segunda-feira, 26 de outubro de 2015 21:40
    • Sugerido como Resposta JAlvez42 terça-feira, 27 de outubro de 2015 01:00
    • Marcado como Resposta Marcos SJ terça-feira, 27 de outubro de 2015 09:59
    segunda-feira, 26 de outubro de 2015 21:36

Todas as Respostas

  • Siga o meu código comentado:

     private void IniciarEspiao()
            {
                //desabilita verificação de thread de acordo com os controles
                Control.CheckForIllegalCrossThreadCalls = false;
    
                //instancio a classe FileSystemWatcher para poder trabalhar com ela
                System.IO.FileSystemWatcher _espiao = new System.IO.FileSystemWatcher();
    
                //coloque a pasta responsável pela verificação de instalações,a padrão seria essa
                _espiao.Path = @"C:\Program Files\";
    
                //cria o evento em runtime do objeto e mostrar a ocorrencia da suposta instalação
                _espiao.Created += new FileSystemEventHandler(Evento);
    
                //habilito o objeto para ouvir a pasta e detectar as mudanças
                _espiao.EnableRaisingEvents = true;
            }
    
            private void Evento(object sender, FileSystemEventArgs e)
            {
                //mostro em uma listbox o status do evento
                this.listBox1.Items.Add(String.Format("Dir: {0} - Tipo de alteracao: {1}", e.FullPath, e.ChangeType.ToString()));
            }

    Use o metodo IniciarEspiao() dentro do construtor do Form para que quando o programa iniciar,
    ele já fique ouvindo a pasta.

    Leia mais sobre essa classe AQUI ... recurso bastante poderoso. :)


    Microsoft Technology Associate (MTA)


    • Editado Eduardo xUni segunda-feira, 26 de outubro de 2015 21:40
    • Sugerido como Resposta JAlvez42 terça-feira, 27 de outubro de 2015 01:00
    • Marcado como Resposta Marcos SJ terça-feira, 27 de outubro de 2015 09:59
    segunda-feira, 26 de outubro de 2015 21:36
  • Muito obrigado! Foi de grande ajuda :)
    terça-feira, 27 de outubro de 2015 12:28