检查在另一个进程中的环境变量?(Check for environment variable in

2019-07-31 02:22发布

在Windows中,有没有办法来检查另一个进程的环境变量的存在? 只需要检查存在,不一定获得价值。

我需要从代码做到这一点。

Answer 1:

如果您知道环境存储虚拟地址在哪,你可以使用OpenProcessReadProcessMemory读出环境的其他程序。 然而,要找到虚拟地址,你需要捅在周围线程信息块进程的线程之一。

为了得到这一点,你需要调用GetThreadContext()调用后SuspendThread() 但为了调用这些,你需要一个线程处理,您可以通过调用get CreateToolhelp32SnapshotTH32CS_SNAPTHREAD标志来创建进程的快照, Thread32First得到第一个线程的线程ID的过程中,和OpenThread得到一个处理的线程。



Answer 2:

使用工具:

您可以使用进程资源管理器 。

右键单击程序,去属性...并且有一个环境选项卡,其中列出了该进程的环境变量。

随着代码:

似乎没有成为一个Win32 API调用直接做到这一点,但显然你摆弄的结果GetProcessStrings获得访问这些信息。 这CodeProject上的文章有一些代码,让你开始。



文章来源: Check for environment variable in another process?