我有一个winform应用程序,它以登录userA的pc运行。我想添加一个登录按钮,当userA仍然登录到PC时,pc userB登录到应用程序。然后,应用程序将作为UserB运行。如何才能做到这一点 ?我在这里需要的只是技术术语或这样做的一个例子。
答案 0 :(得分:1)
以下文章包含示例C#源代码以及如何实现此目的的说明:
http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C
简要总结一下,您需要通过P / Invoke在LogonUser
库中使用本机函数advapi32.dll
。这将令牌句柄存储在提供的IntPtr
变量中,然后可以通过DuplicateToken
本机函数和SetThreadToken
函数(也在advapi32.dll
中)使用该变量来生成当前函数线程模拟请求的用户。 RevertToSelf
函数可用于返回原始用户。