“用户A”login我的应用程序将Environment.Username识别为“用户A”
现在在windows中,我点击切换用户…“用户B”login
“用户A”进程仍在运行由“用户A”运行的应用程序仍然说Environment.Username是“用户A”我希望应用程序识别当前login的用户(当前活动用户)是“用户B”
我该怎么做呢?
如何从windows执行一个Unix shell脚本
使用C#禁用windows的animation效果
在辅助显示器上全屏显示
你能全屏运行一个VB应用程序吗?
无法卸载MysqL连接器。净6.9.3,在MysqL.Web.v20.dll失败
如何调整dynamic加载的本机DLL的%PATH%?
当父窗口最小化时如何防止子窗口的最小化
游标位置函数返回错误的值
TCP保持活动频率不一致
将string转换为浮点并格式化(C#)
有没有这样的事情当前活跃的用户,因为可以有多个(终端服务器)
您可以使用GetSystemMetrics(SM_REMOTESESSION)来检查这是一个“本地”会话,并通过WTSGetActiveConsoleSessionID来获取控制台会话的会话标识(当前登录的用户在您调用它时)您可以使用WTSRegisterSessionNotification在此更改时得到通知。 ProcessIDToSessionID(GetCurrentProcess(),…)会得到你的进程所在的会话ID。最后,WTSquerySessioninformation()会得到关于特定会话的信息。
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\CIMV2","SELECT Username FROM Win32_ComputerSystem"); foreach (ManagementObject queryObj in searcher.Get()) { loggedOnUsername = queryObj["Username"].ToString(); loggedOnUsername = loggedOnUsername.Substring(loggedOnUsername.LastIndexOf('\') + 1); }
当“用户B”登录时,在“用户A”下运行的应用程序在loggedOnUsername中报告“用户B”。
这就是我正在寻找的。 不管怎么说,多谢拉。
你绝对不会在这个级别上找到信息 – 你想去更低级别的API来登录登录的用户(其中可以有多个)。
就像在windows XP中使用Visual Basic .NET或Visual Basic 2005编写支持快速用户切换功能的应用程序一样?
另请参见快速用户切换的体系结构
总结以上是内存溢出为你收集整理的找出当前用户的用户名 – 当多个用户login时全部内容,希望文章能够帮你解决找出当前用户的用户名 – 当多个用户login时所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)