如何查找已登录Windows用户的会话名称
本文关键字:用户 Windows 会话 登录 何查找 查找 | 更新日期: 2023-09-27 17:50:45
您可以在windows任务管理器的选项卡用户中看到,有5列:
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
}
谢谢。
而不是获得会话名称,然后测试某些值,您不只是寻找SystemInformation.TerminalServerSession
吗?
获取一个值,该值指示调用进程是否与终端服务客户端会话相关联。
例如:
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
}
没有托管API。一种方法是通过P-Invoke使用本机API,请参阅检索登录会话信息。但是更简单的方法是使用WMI并查询Win32_LogonSession对象。