VB .NET - Trabalhando com processos do sistema.


A classe Process fornece o acesso aos processos locais e remotos e permite que você dispare e pare um processo local do sistema.

Um componente Process fornece acesso ao processo que esta em execução no computador. O processo em questão nada mais é do que a aplicação que esta rodando.

Você pode usar o componente Process para disparar , controlar e monitorar aplicações. Usando o componente Process , você pode obter uma lista de processos que estão rodando ou iniciar um novo processo.

O método Start da classe Process inicia um recurso associado ao componente Process. Para usar este recurso você precisa utilizar o namespace : System.Diagnostics.

O namespace System.Diagnostics fornece classes que permitem a interação com processos do sistema , logs de eventos  e contadores de desempenho.

Nota: Existem outros métodos presentes na classe Process . Por exemplo:
  1. ExitCode - Obtêm o valor para o processo associado quando ele termina.
  2. ExitTime - Obtêm o tempo quando o processo associado terminar.
  3. StartTime - Obtêm o tempo de inicio do processo associado
  4. CloseMainWindow - Encerra o processo que possui uma interface com o usuário enviando uma mensagem para sua janela principal. (Só funciona para o computador local)

Nesta dica vou mostrar como você pode  abrir documentos do tipo texto , doc , html , etc a partir do seu aplicativo associado apenas invocando o método start da classe Process.

- Inicie um novo projeto no Visual Studio e crie um novo projeto do tipo Visual Basic , template - Windows Application - com nome de AbrirDocumento.

- No formulário padrão insira uma caixa de texto e um botão de comando , conforme figura abaixo:

O código abaixo chama a função - AbrirDocumento - passando o nome do documento. O método start procura a aplicação associado e se ela estiver definida no seu sistema o documento será aberto.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  If TextBox1.Text <> "" Then

      If (abrirDocumento(TextBox1.Text)) Then

          MsgBox("Operação executada com sucesso !", MsgBoxStyle.Information, "Abrir Documento")

      Else

         MsgBox("Não foi possível localizar a aplicação p/abrir o arquivo", MsgBoxStyle.Critical, "Abrir Documento")

      End If

End If

End Sub


Public Function abrirDocumento(ByVal NomeDocumento As String) As Boolean

 

'declara e inicializa um novo componente process

Dim processo As New System.Diagnostics.Process()

'não dispara o evento Exited quanto o processo terminar

processo.EnableRaisingEvents = False

Try

   processo.Start(NomeDocumento)

   Return True

Catch

   Return False

End Try

End Function

Até a próxima...


José Carlos Macoratti