Posso detectar quando um processo do Windows é inicializado sem escrever código no nível do sistema?

0

Existe alguma maneira, por meio de monitoramento de desempenho, WMI ou outras ferramentas disponíveis gratuitamente, para detectar quando um processo específico é iniciado ou, melhor ainda, está prestes a ser iniciado? Então, além disso, capturar os parâmetros da linha de comando passados para a função de ponto de entrada para esse processo.

Apenas detectar que o processo já foi iniciado e já está em execução não tem valor para minha necessidade. Eu tenho o Visual Studio iniciando o Chrome para uma sessão de depuração, e gostaria de a) descobrir se o VS usa o cmd.exe para iniciar o Chrome ou algum código interno do VS eb) quais parâmetros o VS passa para o Chrome para configurá-lo para depuração integrada.

Ou talvez haja alguma maneira de usar o PowerShell para colocar algum tipo de observação na imagem do processo, ou seja, no arquivo .exe, para ver quando ela é acessada para execução?

    
por ProfK 16.03.2017 / 19:31

1 resposta

5

Você gostaria de assistir ao processo que INICIA o processo, e não apenas o próprio processo de destino, provavelmente.

Process Monitor por SysInternals deve ser capaz de capturar isso.

Filtre o processo do Visual Studio (e possivelmente também para o CMD e o Chrome), acione a sequência de depuração no VS e veja o que é capturado.

Outra opção, também da SysInternals, seria o Process Explorer , basicamente, o Gerenciador de Tarefas em esteróides, que captura os argumentos que iniciaram cada processo. Se o VS iniciar um intermediário que, em seguida, abre o Google Chrome E que o intermediário continua sendo executado como pai do processo do Google Chrome, o Process Explorer mostrará todos os argumentos aprovados.

    
por 16.03.2017 / 19:40