如何检测我的服务是否在TSE会话中运行?

时间:2011-04-14 09:14:53

标签: c++ windows session

我编写的服务在TSE服务器上运行时应该以特殊方式运行,在会话0

我在互联网上的查询给了我以下功能:

GetSystemMetrics(SM_REMOTESESSION)

当我的服务在TSE服务器上的用户会话中运行时,确实会返回TRUE。但是,当在会话0中运行服务时,它仍会返回FALSE

据我所知,GetSystemMetrics或多或少与UI有关,因此它不会为会话0返回TRUE,因为此会话不应该绘制任何事情。

还有其他方法可靠地确定我的服务是在会话0和TSE服务器上运行吗?

谢谢。

操作系统是Windows 2008服务器。

1 个答案:

答案 0 :(得分:0)

快速入侵是查看是否设置了CLIENTNAME和SESSIONNAME环境变量。

问题是它在服务器上的一个单独进程中启动might not be available,但由于你在W2K8上,你应该没问题。