如何使用C#以编程方式切换用户

时间:2010-12-27 08:48:29

标签: c# winapi

我有Windows 2003服务器,并希望使用c#以编程方式切换用户。我有所有活动用户的列表,那么如何切换用户?

我需要捕获当前登录的所有用户的屏幕。

由于 Laxmilal

3 个答案:

答案 0 :(得分:2)

您想要实现的目标尚不完全清楚。

有几种方法可以让程序作为与登录的用户不同的用户运行(或让程序执行具有不同凭据的另一个进程):

  • 使用runas,为其他用户提供凭据
  • 在C#中,将Process.StartProcessStartInfo一起使用。这使您可以提供进程应运行的凭据
  • Windows服务需要运行一个帐户 - 这可以是与登录帐户不同的用户(并且无论是否有人登录都会运行)

您无法更改正在运行的进程的凭据。

您能解释完全您想要实现的目标吗?也许还有其他方法可以达到你想要的效果。

答案 1 :(得分:1)

您可以在ASP .Net中使用模拟(使用特定用户名和密码)执行操作。

如果是Windows应用程序,您只需使用此处描述的不同用户名启动进程。 http://msdn.microsoft.com/en-us/library/ed04yy3t.aspx

干杯, 斯特凡

答案 2 :(得分:0)

你的意思是,如果你锁定屏幕并与其他人登录?这完全不可能。您知道登录屏幕显示您需要按ctrl-alt-del,它的设计使得没有人可以搞砸它。但是,您可以模拟用户,例如使用runas命令,但您需要知道他们的密码。