none
Verificar processos em execução RRS feed

  • Pergunta

  • Ora bem a minha cabeça ta uma confusão kkk

    Estou a praticar num projeto de teste em VB.net uma maneira de verificar se o processo "testeA" está em execução . Se sim abre a MsgBox("Esta em execução") se não abre a MsgBox("nao esta em execução")

    Dim processo As Boolean
    
            Dim asc() As Process = Process.GetProcessesByName("teste")
            If Not asc Is Nothing Then MsgBox("Nao esta em execução") 'se o processo não esta a decorrer então mostra a MsgBox'
    
            If processo = True Then MsgBox("OK") 'Se o processo está em execução, entao mostra a MsgBox "OK" mas pelos vistos esta maneira nao tem jeito de dar. Tentei a abaixo e de certo deu 
    
    
            'Outra maneira
    
            Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then MsgBox("Processo está em execução!")
    

    Bem o problema é que abrem duas MsgBox a que diz 

    "Processo está em execução!"

    e

    Nao esta em execução

    Alguem me ajuda ???

    Boa tarde a todos


    O meu objetivo ______ criar um sistema operativo

    sexta-feira, 27 de abril de 2012 18:32

Respostas

  • Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then
               MsgBox("Processo está em execução!")
            Else
               MsgBox("O processo nao esta em execucao")
            End If


    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    sábado, 28 de abril de 2012 11:31

Todas as Respostas

  • E por que não tenta a segunda maneira? A outra está toda errada.
    sexta-feira, 27 de abril de 2012 18:35
  • O problema é esse vitor. Ao usar :

    Dim processo As Boolean
    
            Dim asc() As Process = Process.GetProcessesByName("teste")
            If Not asc Is Nothing Then MsgBox("Nao esta em execução") 'se o processo não esta a decorrer então mostra a MsgBox'
    
    Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then MsgBox("Processo está em execução!")

    deste modo abrem duas MsgBox se o processo estiver aberto "Não esta em execução" + "Processo está em execução!"

    se o processo estiver «fechado» ai sim funciona porque so mostra "Nao esta em execução"


    O meu objetivo ______ criar um sistema operativo

    sábado, 28 de abril de 2012 11:00
  • Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then
               MsgBox("Processo está em execução!")
            Else
               MsgBox("O processo nao esta em execucao")
            End If


    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    sábado, 28 de abril de 2012 11:31
  • Eu disse a segunda forma.
    sábado, 28 de abril de 2012 13:26
  • Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then
               MsgBox("Processo está em execução!")
            Else
               MsgBox("O processo nao esta em execucao")
            End If


    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    ah então a função Else contraria a alinea anterior ???? Isso assim vai simplificar muito o meu código

    O meu objetivo ______ criar um sistema operativo

    sábado, 28 de abril de 2012 16:40
  • Eu disse a segunda forma.

    Sim Vitor mas eu precisa que fizesse as duas funções percebe e ao so usar o codigo baixo so me mostra que o processo se esta aberto. ainda nao conhecia o Else desculpe nao ter percebido

    Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then
               MsgBox("Processo está em execução!")


     

    O meu objetivo ______ criar um sistema operativo

    sábado, 28 de abril de 2012 16:42
  • Resolveu o problema?

    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    sábado, 28 de abril de 2012 16:47
  • Dim teste() As Process
            teste = Process.GetProcessesByName("teste")
            If teste.Length > 0 Then
               MsgBox("Processo está em execução!")
            Else
               MsgBox("O processo nao esta em execucao")
            End If


    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    FUNCIONA muito obrigado.

    Uma boa tarde a todos!


    O meu objetivo ______ criar um sistema operativo

    sábado, 28 de abril de 2012 16:47
  • Igualmente :)

    Se a postagem for UTIL,pontue; Se a postagem solucionar o problema MARQUE COMO RESPOSTA.

    sábado, 28 de abril de 2012 16:53