Descrição:
É possível verificar se um programa esta em execução, via scripts?
Solução:
Sim. Utilizando o objeto winmgmts e acessando as instâncias de Win32_process, é possível varrer o nome de todos os processos do Windows. Com isto, basta fazer um teste pelo nome do processo desejado para saber se ele esta sendo executado.
Por exemplo:
set objService = getobject(“winmgmts:”)
for each Process in objService.InstancesOf(“Win32_process”)
if Process.Name = “calc.exe” then
a = 1
end if
Next if a = 1 then
MsgBox “Calculadora já esta sendo executada!”
else
Application.ExecuteExternalApp “calc.exe”, “”, “”, 1
end if
for each Process in objService.InstancesOf(“Win32_process”)
if Process.Name = “calc.exe” then
a = 1
end if
Next if a = 1 then
MsgBox “Calculadora já esta sendo executada!”
else
Application.ExecuteExternalApp “calc.exe”, “”, “”, 1
end if
NOTA: A aplicação em anexo foi desenvolvida no E3 versão 4.0 b225.