none
CHECKBOX AJUDA RRS feed

  • Pergunta

  • Eu tô tentando criar um checkbox, que quando marcado ele check se tem um processo rodando e assim chamar uma função.

     

    seria algo assim eu acho, eu não sei como fazer ele checar se o processo está rodando


            If Autoinject.Checked = True Then

                If IsProcessOpen(txtprocess.Text) Then
                    Call inject()
                End If
            End If

    sábado, 4 de dezembro de 2010 14:39

Respostas

  • aqui vai :

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

            If CheckBox1.Checked = True Then

                Try
                    Dim processRunning As Boolean = IsProcessOpen(TextBoxProcess.Text)

                    If processRunning Then
                        Call inject()
                    End If


                Catch ex As Exception

                End Try

            End If

        End Sub
        Public Function IsProcessOpen(ByVal name As String) As Boolean

            For Each clsProcess As Process In Process.GetProcesses()

                If clsProcess.ProcessName.StartsWith(name) Then

                    Return True

                End If

            Next

            Return False

        End Function

     

    abre a calculadora do windows e escreve na  textbox a palavra calc  e clica na  checkbox. o proceso vai ser encontrado e vai executar Call inject (). coloca um breakpoint para acompanhares.


    espero ter ajudado.
    sábado, 4 de dezembro de 2010 16:03

Todas as Respostas

  • eu sei muito pouco de VB, olhei isso ai que vc posto, não compreendi, mas olha só isso que achei na NET e coloquei com o que eu tinha

     Private Sub Autoinject_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Autoinject.CheckedChanged

         
            If Autoinject.Checked = True Then

                Try
                    'create an array of Processes
                    Dim npProc() As Process

                    'GetProcesses returns an array of processes that are running
                    npProc = Process.GetProcesses
                    For Each proc As Process In npProc
                        'check the ProcessName to find txtprocess.text
                        If proc.ProcessName.Equals(txtprocess.Text) Then
                            MessageBox.Show("vai funciona", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                        End If
                    Next

                Catch ex As Exception

                End Try
                Call inject()
            End If

     

    ---------------

     

    Teria como vc dar uma olhada pra mim nisso e me dizer porque não funciona?

    não da erro nenhum no VB

     

    eu fiz um teste aqui esse code de checar que o processo está rodando funciona, só falta fazer ele funcionar com o checkbox

    sábado, 4 de dezembro de 2010 15:23
  • mas co este codigo consegues ver se o processo está a rodando? afinal o que nao esta a funcionar como tu queres?tu queres que verifique se o processo está a rodar quando se clica na checkbox?

    é importante que sejas claro.


    espero ter ajudado.
    sábado, 4 de dezembro de 2010 15:39
  • vou tentar explicar

     

    caixa da checkbox marcada:

    ele verifique se um tal processo está rodando, se este estiver rodando ele chame o Call inject ()

     

    caixa da checkbox desmarcada:

    ele não faça nada

    sábado, 4 de dezembro de 2010 15:51
  • aqui vai :

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

            If CheckBox1.Checked = True Then

                Try
                    Dim processRunning As Boolean = IsProcessOpen(TextBoxProcess.Text)

                    If processRunning Then
                        Call inject()
                    End If


                Catch ex As Exception

                End Try

            End If

        End Sub
        Public Function IsProcessOpen(ByVal name As String) As Boolean

            For Each clsProcess As Process In Process.GetProcesses()

                If clsProcess.ProcessName.StartsWith(name) Then

                    Return True

                End If

            Next

            Return False

        End Function

     

    abre a calculadora do windows e escreve na  textbox a palavra calc  e clica na  checkbox. o proceso vai ser encontrado e vai executar Call inject (). coloca um breakpoint para acompanhares.


    espero ter ajudado.
    sábado, 4 de dezembro de 2010 16:03
  • a função ali em cima eu já tinha add ela, agora isso que vc falo

    abre a calculadora do windows e escreve na  textbox a palavra calc  e clica na  checkbox. o proceso vai ser encontrado e vai executar Call inject (). coloca um breakpoint para acompanhares.

     

    não entendi abrir a calculadora do windows e escreve na textbox?

    eu sei inserir esse breakpoint mas aonde colocar ele?

     

    Obrigado por sua paciência amigo, só me explica um pouquinho mais

    sábado, 4 de dezembro de 2010 16:17
  • mandei abrir a calculadora para tu testares, porque o processo calc.exe vai ser executado.  tu keres verificar se um processo esta a rodar nao é? onde é k escreves o nome do processo para verificares se esta a rodar?nao tens uma textbox?o breakpoint colocas por exemplo na instrucao If CheckBox1.Checked = True Then. e depois faz F10. esta a ser dificil se perceber.

    espero ter ajudado.
    sábado, 4 de dezembro de 2010 16:23
  • ah tá, eu viajei aqui eu já estava testando como o notepad

     


     

     

    sábado, 4 de dezembro de 2010 16:31
  • ta dificil. primeiro tens que abrir o notepad ou a calculadora e depois é k colocas o nome do processo na textbox e clicas na checkbox. esse  codigo que coloquei , porque eu testei no visual studio.
    espero ter ajudado.
    sábado, 4 de dezembro de 2010 16:46
  • mas assim como vc falo o checkbox ficou igual ao button que eu já tenho pra injetar manualmente.

    quando a checkbox estiver marcada, ele tem que verificar se o processo está rodando e chamar a função call inject() tudo automaticamente.

     

     

    sábado, 4 de dezembro de 2010 16:55
  • botao?entao mas quem é que desencadeia o processo de verificar se o processo esta a rodar?é ao carregar num botao ou clicar na checkbox? a funcao IsProcessOpen() funciona, eu proprio a testei, agora so tens de a chamar quando ptetendes.
    espero ter ajudado.
    sábado, 4 de dezembro de 2010 17:17
  • eu quero assim, não quero daquele jeito que tenho que clicar toda vez na checkbox como se fosse um botão.

     

     

    marco a checkbox

    escrevo o nome do processo exemplo:"notepad"

    abro o notepad, checa se está rodando, chama o call inject() tudo sozinho

     

     

    sábado, 4 de dezembro de 2010 17:32
  • "

    marco a checkbox

    escrevo o nome do processo exemplo:"notepad"

    abro o notepad, checa se está rodando, chama o call inject() tudo sozinho "

     

    entao e o que vai desencadear o processo de verificar se o processo está a rodar? se nao queres ter um botao , tambem nao queres queres que o processo seja desencadeado ao clicar na checkbox, entao como queres? por pensamento? como e quando é que a funcao que verifica se o processo está a rodar é executada?


    espero ter ajudado.
    sábado, 4 de dezembro de 2010 17:38
  • olha só esse injetor dll aqui dessa imagem e video, eu fiz ele com o Delphi, repare na imagem e veja um uma checkbox chamada "Auto injetar" e repare no vídeo que eu marco essa checkbox, depois abro o processo e ele verifica se o processo está rodando e injeta a DLL

     

    http://img684.imageshack.us/img684/3190/imagemrlx.png

    http://www.youtube.com/watch?v=gvL6w3geU_k

     

    já vi Injetores feitos com VB que auto injetam igual esse ai feito em Delphi

     

    sábado, 4 de dezembro de 2010 17:45
  • olha só esse injetor dll aqui dessa imagem e video, eu fiz ele com o Delphi, repare na imagem e veja um uma checkbox chamada "Auto injetar" e repare no vídeo que eu marco essa checkbox, depois abro o processo e ele verifica se o processo está rodando e injeta a DLL

     

    http://img684.imageshack.us/img684/3190/imagemrlx.png

    http://www.youtube.com/watch?v=gvL6w3geU_k

     

    já vi Injetores feitos com VB que auto injetam igual esse ai feito em Delphi

     

    Como ficou o teu problema?

     


    Just Be Humble Malange!
    sexta-feira, 24 de dezembro de 2010 14:29
    Moderador
  • Edinho, coloca o código que o Luis falou no evento Leave do TextBox, que assim quando sair do digitar o processo e fores sair do TextBox, ele verifica faz a verificação.

    Espero ter ajudado.

     

    Eduardo Nogueira


    Se a Resposta foi Útil "Marque como Resposta certa".
    quinta-feira, 30 de dezembro de 2010 02:48
  • Edinho!

    Você obteve algum progresso?

    Os exemplos do luis não ajudaram?

    Att;


    Eder Costa - LATAM Forum Support Engineer
    Microsoft Corporation
    terça-feira, 4 de janeiro de 2011 14:02
    Moderador