我有一个Windows服务,它定期检查许多其他进程,并将有关它们的信息报告回中心位置。
我想提取这些进程可能正在使用的任何环境变量。我目前正在使用一些DllImport语句(例如http://www.dreamincode.net/forums/blog/143/entry-2686-working-with-environment-variables-in-c%23/)执行此操作,这在大多数情况下都很有效。
但是,如果Windows服务及其分析过程都由同一个用户运行,那么这似乎只能起作用。如果Windows服务作为“user1”运行,而进程作为“user2”运行,则无法检查其环境变量。
是否有人知道更简洁的方法来获取这些环境变量(不更改底层应用程序)或合适的解决方法?