Pergunta

Eu gostaria de exibir uma lista de processos (Windows, C ++) e quanto eles estão lendo e escrevendo a partir do disco em KB / s.

O Monitor de recursos do Windows 7 tem a capacidade para que eu deveria ser capaz de fazer o mesmo.

No entanto tenho incapaz de encontrar uma API de convite relevante ou encontrar nada nos contadores perfmon. Poderia alguém me aponte na direção?

Foi útil?

Solução

Você pode chamar GetProcessIoCounters para obter geral dados O por processo de disco I / -. você vai precisar para manter o controle de deltas e convertendo a taxa baseada em tempo-se

Esta API irá dizer-lhe número total de operações de I / O, bem como bytes totais.

Outras dicas

WMI pode fazê-lo, como contanto que você instantâneo-lo periodicamente para obter estatísticas diferenciais por alguma fatia "recente" de tempo. este post apresenta uma solução peculiarmente mista, com VBScript lendo as informações de WMI e Perl continuamente apresentando as informações em um console do Windows. Apesar do mix língua estranha, eu acho que se destaca como um bom exemplo de como chegar ao tipo de informação que você precisa (que deveria ser perfeitamente possível recodificar tudo isso em C ++, é claro).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top