如何确定当前用户是否通过.NET中的终端服务登录?

如何确定当前用户是否通过.NET中的终端服务登录?,.net,wmi,remote-desktop,.net,Wmi,Remote Desktop,我想从.NET应用程序中确定当前用户(来自System.Environment.UserName)是物理登录到计算机,还是通过终端服务登录到计算机 用例是一个启动程序启动器。当我在本地登录到我的开发机器时,我通常希望自动启动大量应用程序(Outlook、各种通知区域应用程序),但当我使用终端服务进行连接时,这通常意味着我随时待命并处理问题,我希望我的系统尽快准备就绪 我猜这可能是通过WMI实现的,但我不熟悉实现它的类或查询。检查属性这比我将要发布的使用p/Invoke的解决方案好得多。实际上,该

我想从.NET应用程序中确定当前用户(来自System.Environment.UserName)是物理登录到计算机,还是通过终端服务登录到计算机

用例是一个启动程序启动器。当我在本地登录到我的开发机器时,我通常希望自动启动大量应用程序(Outlook、各种通知区域应用程序),但当我使用终端服务进行连接时,这通常意味着我随时待命并处理问题,我希望我的系统尽快准备就绪


我猜这可能是通过WMI实现的,但我不熟悉实现它的类或查询。

检查属性

这比我将要发布的使用p/Invoke的解决方案好得多。实际上,该属性在内部使用p/Invoke(
GetSystemMetrics(SM_REMOTESESSION)
)从来都不知道这个类的存在——多么有用的信息啊!谢谢