Вы можете попробовать проанализировать вывод утилиты PsList из Sysinternals.
Вы можете получить его у:
http://technet.microsoft.com -> поиск "sysinternals"
Когда вы запустите "PsList -t", вы увидите список процессов с дочерними отступами от левого поля. Вот фрагмент кода:
Первый числовой столбец - PID. Вы не упомянули, на каком языке вы пишете свой скрипт, но не должно быть слишком сложно перебирать строки и использовать стековую структуру для хранения текущего спускаемого пути. Когда вы достигнете PID нужного процесса, вы сможете проверить стек, чтобы получить родительскую информацию.