“用户 A”已登录 我的应用程序将 Environment.Username 识别为“用户 A”
现在在 Windows 中,我单击切换用户 ... “用户 B”登录
“用户 A”的进程仍在运行 “用户 A”运行的应用程序仍然显示环境。用户名为“用户 A” 我希望应用程序识别当前登录用户(当前事件用户)是“用户 B”
我该怎么做?
最佳答案
没有当前事件用户这样的东西,因为可以有多个(终端服务器)
您可以使用 GetSystemMetrics(SM_REMOTESESSION) 来检查这是否是“本地” session ,并使用 WTSGetActiveConsoleSessionId 来获取控制台 session 的 session ID(您称之为当前登录用户)您可以使用 WTSRegisterSessionNotification 来获得通知变化。 ProcessIdToSessionId(GetCurrentProcess(),...) 将为您提供进程所在的 session ID。最后,WTSQuerySessionInformation() 将为您提供有关特定 session 的信息。
关于c# - 找出当前用户的用户名-当多个用户登录时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1244000/