Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在windows中以编程方式切换用户_Windows_Visual C++_Winlogon - Fatal编程技术网

如何在windows中以编程方式切换用户

如何在windows中以编程方式切换用户,windows,visual-c++,winlogon,Windows,Visual C++,Winlogon,我想知道是否有任何API可用于在windows中以编程方式切换用户。当提供了用户凭据(帐户名和密码)时,我的应用程序将尝试注销登录的任何其他用户,并尝试登录当前用户 任何帮助都将不胜感激。您可能正在寻找的功能是 但是,在大多数情况下,您最好使用 就个人而言,我怀疑您可能更倾向于使用这两种方法,而只是使用正在运行的用户的安全上下文,通过您专门为应用程序编写的windows服务提供特权功能为什么不创建一个服务来切换用户凭据(通过其他答案中提到的方法),并以“管理员”身份安装和运行该服务。从登录的用户

我想知道是否有任何API可用于在windows中以编程方式切换用户。当提供了用户凭据(帐户名和密码)时,我的应用程序将尝试注销登录的任何其他用户,并尝试登录当前用户


任何帮助都将不胜感激。

您可能正在寻找的功能是

但是,在大多数情况下,您最好使用


就个人而言,我怀疑您可能更倾向于使用这两种方法,而只是使用正在运行的用户的安全上下文,通过您专门为应用程序编写的windows服务提供特权功能

为什么不创建一个服务来切换用户凭据(通过其他答案中提到的方法),并以“管理员”身份安装和运行该服务。从登录的用户帐户,您可以调用此服务(已以管理员身份运行),并使其在没有权限问题的情况下切换用户帐户(因为负责切换的服务已以管理员身份运行)

在发布此答案后,我意识到我犯了一个小错误,LogonUser是用户模拟的一部分。我不知道是否真的可以在Windows下提供一个定制的GINA替换来登录,我知道微软从Vista开始改变了它的工作方式——我正在寻找Vista和更高版本。实际上,我编写了一个自定义凭据提供程序,用于在用户处于登录屏幕时登录该用户。我想进一步扩展它。