c# - 如何获取已登录的本地 Windows 用户列表?

标签 c# .net windows

我正在尝试为 Windows 编写一个更快的用户切换应用程序。 Win+L 和选择用户很麻烦。如果我以管理员身份启动任务管理器,它会显示事件用户,我可以选择一个并“连接”(如果我输入他们的密码)。

如何获取所有用户(或所有活跃用户)的列表?

我正在使用 C# (Visual Studio Express)。

最佳答案

如果您不想处理 P/Invoke,您可以使用 Cassia ,它为你包裹了丑陋的东西:

using Cassia;

foreach (ITerminalServicesSession session in new TerminalServicesManager().GetSessions())
{
    if (!string.IsNullOrEmpty(session.UserName))
    {
        Console.WriteLine("Session {0} (User {1})", session.SessionId, session.UserName);
    }
}

关于c# - 如何获取已登录的本地 Windows 用户列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/194468/

相关文章:

c# - 如何在 wpf 应用程序的配置文件中将自定义属性添加到 tracelistener

c# - 如何通过对象的属性从自定义对象列表中删除重复项

c# - WCF HttpTransport : streamed vs buffered TransferMode

windows - CMD:迭代从另一个命令管道传输的标准输入

windows - 如何有效地检索目录中的文件数?

c# - 加载用户的 DirectoryEntry 的最有效方法是什么?

C#:HashSet的volatile读写

.net - 如何根据 xml 模式更正 xml 文件?

c# - 在 WCF 和 .NET 4.0 中使用 TLS 1.1 或 1.2?

c# - 从命令获取可执行文件的路径(与 cmd 一样)