encontre a árvore do processo no .NET

Estou procurando uma maneira fácil de encontrar a árvore de processos (como mostrado por ferramentas como o Process Explorer), em C # ou em outra linguagem .NET. Também seria útil encontrar os argumentos da linha de comando de outro processo (o StartInfo no System.Diagnostics.Process parece inválido para outro processo além do atual).

Acho que essas coisas só podem ser feitas invocando a API do win32, mas ficaria feliz em provar que estou errad

questionAnswers(4)

yourAnswerToTheQuestion