@PeterDouglas: This isn't a job posting board, nor is it a technical support forum. If Tech Off and StackOverflow can't solve your challenge, then I don't know what to say. If people don't know the answer, then money isn't going to fix that. Also, throwing around an attitude isn't going to help either.

On the topic of your question, I doubt there is a way to do it in managed code. You'll probably have to resort to interop. Also, I wouldn't use SysInternals tools as an example of how to do things with specific API's. Remember that the history of SysInternals tools involves lots of reverse engineering, unsupported/undocumented API's, and just plain hax0ring. It may very well be impossible using documented means.