windows:XP->;current:如何判断是在CONSOLE还是RDP会话中
本文关键字:CONSOLE RDP 会话 判断 还是 gt XP- current windows 何判断 | 更新日期: 2023-09-27 18:27:44
我在各个实验室里收集了一堆杂乱的Windows平台。从XP到最新版本的一切。我有一个简单的C#/.NET应用程序,它在用户登录和注销时运行。我需要区分真正的控制台登录和RDP会话。我正在使用
System.Diagnostics.Process.GetCurrentProcess().SessionId
以获得sessionId
,但我看不到任何内容显示"您在控制台上"或"您在RDP会话中"。有这样的事情吗?
根据我的需要,windows环境变量%sessionname%
保存了我要查找的信息。在我的C#代码中,我可以说:
string sessionName = Environment.GetEnvironmentVariable("SESSIONNAME")
?? "CONSOLE";
%sessionname%
似乎包含字符串"console"或"rdp-(something)#(number)",例如"rdt-tcp#1234"。我不知道所有可能的值,但看起来它能满足我的需求。
您可以通过调用WTSGetActiveConsoleSessionId()函数来确定当前连接到物理控制台的会话ID(如果有的话)。