none
Encontrar processo em execução RRS feed

  • Pergunta

  • Caros,

     

    Necessito fazer uma verificação se outro processo está em execução.

    Tentei usar a função FindWindow(), mas tem um problema: o processo que eu necessito "monitorar" não tem janela.

     

    Alguém sabe como faço pra verificar se este processo está em execução pelo Nome da Imagem (aplicativo.exe) do mesmo?

     

    Estou usando VC++ 8 (Visual C++ 2005 Pro) e Windows XP SP2 Pro

     

    Grato.

    quinta-feira, 16 de agosto de 2007 18:16

Todas as Respostas

  • outra alternativa: registrar o executável como um serviço windows... como monitorar o status desse serviço?

    quinta-feira, 16 de agosto de 2007 18:42
  • Roberto,

     

    voce pode usar a função do Win32, CreateToolhelp32Snapshot(..) com parametro para listar todos os processos, SNAPPROCESS.

     

    Voce vai usar depois as funções Process32First(..) e Process32Next(..) para percorrer a lista de processos e pode procurar o processo que deseja, e obter informações pertinentes ao processo.

     

    Abraço, Guilherme

    sexta-feira, 17 de agosto de 2007 19:24
  •  

    complementando a resposta dos camaradas... vc ainda pode trabalhar com EnumWindows(...) com outro set de functions.

     

    o artigo a seguir mostra tanto usando helper functions quanto outras estrategias para listar processos.

     

    http://www.codeproject.com/threads/Tasks.asp

     

     

    []'s

     

    Waner Tavares

     

     

    quinta-feira, 23 de agosto de 2007 02:09