none
Checando Processos vb.net RRS feed

  • Pergunta

  • Olá,

    Fiz um botão e ele abre um outro programa, e coloquei um progressbar com o tempo de 1 minuto e quero que o usuário abra um processo especifico em dentro de 1 minuto caso ele não abra o jogo programa fecha 

    Como eu faço ?

    Código:


    Private Sub btnAbrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbrir.Click
            Dim processo As New ProcessStartInfo
            processo.FileName = "c:\CoGe\pp_s.exe"
            Process.Start(processo)
            Timer1.Start()

            If MessageBox.Show("Monitoramento iniciado, você tem 60 segundo para abrir o jogo, ou o aplicativo será fechado.") Then
            End If
        End Sub
    sexta-feira, 30 de agosto de 2013 00:38

Respostas

Todas as Respostas

  • Do jeito abaixo, vc lista todos os processos abertos:

    For Each p As Process In Process.GetProcesses()
       Debug.WriteLine(p.ProcessName)
    Next

    Ou usando linq (deste jeito vc pesquisa diretamente o nome do processo)

    Dim procExists as Boolean = Process.GetProcesses().Any(Function(p) p.Name.Contains(processName))

    fonte:http://stackoverflow.com/questions/11055147/how-do-i-get-list-of-process-names-running-in-vb-net

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    sexta-feira, 30 de agosto de 2013 00:55
    Moderador
  • Vish cara, 

    Poderia implementar isso ai no código que te passei ? sou muito iniciante =(

    sexta-feira, 30 de agosto de 2013 14:22
  • Eu nao sei o que vc quer fazer.. simplesmente fica dificil implementar sem saber o que vc quer. Hoje é sexta e minha bola de cristal esta meio embaçada :P

    Não me leve à mal, mas o objetivo deste forum é te tirar duvidas.. implementaçao de codigo personalizado eu chamo de emprego e sou pago por isso, espero que você entenda.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    sexta-feira, 30 de agosto de 2013 14:34
    Moderador
  • Se eu Entendi direito isso vai funcionar.

    Private Sub btnAbrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbrir.Click
    Shell("cmd /c start c:\CoGe\pp_s.exe")
            Timer1.Start()

    MsgBox("Monitoramento iniciado, você tem 60 segundo para abrir o jogo, ou o aplicativo será fechado.")
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

    Progressbar1.Increment(1)

    Dim s() As Process
            s = Process.GetProcessesByName("***PROCESSO***")
            If s.Length = 1 Then
                Timer1.Enabled = False
                ***FUNÇÃO***
            End If

    if Progressbar1.value = "60"

    End

    end if

    End Sub

    Onde Tem Escrito ***PROCESSO*** é o Nome do Processo.

    Onde Tem Escrito ***FUNÇÃO*** é o que vc quer que o Programa faça se ele abrir o ***PROCESSO***.

    Abraços.






    sábado, 31 de agosto de 2013 13:17