从C#中的进程读取环境变量

我想从进程A中的C#代码中读取进程B的环境变量。我已经在C ++中看到了一些解决方案,但没有尝试将它们适用于C#。 这可能来自C#,如果没有,有没有人包装C ++解决方案呢?

我已经浏览了Isalamon和Daniel Hilgarth提供的链接,以及CLR Profiler的GetServicesEnvironment()方法中的代码,它似乎做了同样的事情,经过一些测试后发现最可靠的解决方案是Oleksiy的代码 (他在这篇博文中发表的纯C#with P / Invoke)。 它仍然有限制,你必须是一个64位进程来读取另一个64位进程的env变量。

响应此代码项目文章是指向在C#项目中使用该项目的示例项目的链接: http : //cid-4927aef73dbca29a.office.live.com/self.aspx/P%C3%BAblico/ProcessEnvReaderDotNet.zip