【发布时间】:2015-11-26 13:06:54
【问题描述】:
我想做(以编程方式,使用 WinAPI)与单击“开始”菜单中的“切换用户”时 Windows 所做的完全相同。即,要显示列出所有可用用户帐户的屏幕,您可以切换到另一个仍然像以前一样登录的帐户。据我所知,它被称为“快速用户切换”。我没有凭据,我的任务是让我的应用用户使用他们自己的凭据切换到另一个帐户。
另外,有没有办法知道是否在“开始”菜单中启用了该选项?因为如果不是,我也不想在我的应用中显示该选项。
更新
我已经使用::ExitWindowsEx()进行注销,但是没有EWX_标志用于切换。
问候,
【问题讨论】:
-
为什么用户不能自己做呢?当现有 UI 运行良好时,为什么另一个应用需要提供更多 UI?
-
@DavidHeffernan 答案很简单:适用于特殊硬件/用例的替代启动器。
-
如果您想替换默认的 Windows 屏幕,您可以编写自定义 GINA 模块 msdn.microsoft.com/en-us/library/windows/desktop/…。否则,根据remkoweijnen.nl/blog/2008/11/26/…,启动Windows 默认快速用户切换屏幕似乎需要调用默认Microsoft GINA 上未记录的
ShellStartCredentialServer函数。不用说,调用未记录的 API 是个坏主意。啊,从 Vista 开始就没有 GINA 了。 -
@PeterK 谢谢,
ShellStartCredentialServer似乎是我要找的。必须先检查一下。 -
呃,吉娜?那已经死了 10 年了。
标签: winapi switch-user