Como acessar o PID do Windows do último processo iniciado usando WScript.Shell ou similar?
Eu sei como iniciar um processo e obter seu PID:
Set oExec = WshShell.Exec( program )
Set pid = oExec.ProcessID
Agora o problema é que o programa é outro lote (ou pode ser VBScript). O lote inicia um programa real cujo PID eu gostaria de obter.
No Linux (shell script) é muito fácil de fazer. apenaspid=$!
Mas o que posso fazer no Windows?
Responder1
Acho que não há equivalente a $! No Windows.
Caso deseje recuperar o PID do terceiro processo, você pode procurá-lo usando WMI. Um exemplo disso pode ser encontradoaqui(apenas pesquisando e exibindo as informações) ouaqui(procurando e matando o processo).
Se o executável do terceiro nome não for conhecido, você pode querer usar umObjeto de trabalhoque agrupa vários processos em um objeto. E você poderia facilmente matar todos eles de uma vez comTerminarJobObject.
VerMSDNpara uma visão geral rápida ouesta pergunta no StackOverflow.
No entanto, não sei se esses métodos podem ser usados no VBScript.