C# 如何查找已登录Windows用户的会话名称?
正如您在windows任务管理器的“用户”选项卡中所看到的,共有5列:C# 如何查找已登录Windows用户的会话名称?,c#,C#,正如您在windows任务管理器的“用户”选项卡中所看到的,共有5列: User ID Status Client Name Session Mike 1 Active Console 我已使用它获取会话id: System.Diagnostics.Process.GetCurrentProcess().SessionId.ToString(); 我想知道会话名称,看看它是控制台还是远程桌面等 private string getsessio
User ID Status Client Name Session
Mike 1 Active Console
我已使用它获取会话id:
System.Diagnostics.Process.GetCurrentProcess().SessionId.ToString();
我想知道会话名称,看看它是控制台还是远程桌面等
private string getsessionname()
{
// function to get session name
}
if(getsessionname=="console")
{
// do staff1
}
else
{
// do staff2
}
谢谢。与其获取会话名称,然后测试某些值,您不只是在寻找吗 获取一个值,该值指示调用进程是否与终端服务客户端会话关联 例如:
没有托管API。一种方法是通过P-Invoke使用本机API,请参阅。但是一个更简单的方法是使用WMI和。可能与否重复,我认为它说的是“会话名称”,我想要currnet用户的seision名称,而不是用户名。他们是不同的。你能用例子解释一下吗?我是新手。非常感谢。但是更简单的方法会得到这些结果:\\Computername\root\cimv2:Win32\u LogonSession.LogonId=“995”\\Computername\root\cimv2:Win32\u LogonSession.LogonId=“999”\\Computername\root\cimv2:Win32\u LogonSession.LogonId=“996”\\Computername\root\cimv2:Win32\u LogonSession.LogonId=“146406”\\Computername\root\cimv2:Win32\u LogonSession.LogonId=“224478”\\Computername\root\cimv2:Win32\u LogonSession.LogonId=“709133”不是我想要的东西。顺便说一句,谢谢你的努力。
using System.Windows.Forms;
...
if(SystemInformation.TerminalServerSession)
{
// do stuff where the user is using remote desktop
}
else
{
// user is connected locally, e.g. the console
}