如何通过Windows服务登录?

时间:2009-11-06 01:39:34

标签: windows authentication

基本上我想要一个Windows服务,在特定时间,登录Windows(XP / Vista / 7/2008)机器?如果这是可能的,请告诉我路?

3 个答案:

答案 0 :(得分:1)

查看CreateProcessWithLogonW,CreateProcessAsUser,LogonUser。如果您查看MSDN上的“联机帮助页”,那应该可以帮助您入门。

CreateProcessWithLogonW()

当然,正如其他人所说,这是非常不安全的。

答案 1 :(得分:0)

你为什么要这样做?我假设您想要进行图形登录,而不仅仅是在没有GUI的情况下将代码作为特定用户运行。

假设您想使用典型的用户凭据登录并显示Windows桌面,我认为您将失去运气。至少在比Windows XP更新的平台上,操作系统中的服务和桌面组件严格分离。 Windows XP允许与桌面交互,但存在安全风险。

“服务”MMC管理单元中有一个选项,其中详细说明了服务用户帐户。如果它作为本地系统帐户运行,则可以选择允许服务与桌面交互。我认为登录桌面与用户桌面是分开的,这意味着您可能无法通过服务与其进行交互。例如,CTRL-ALT-DEL序列之类的东西不能从代码中执行。

答案 2 :(得分:0)

据我所知,服务无法与用户的桌面交互。我一会儿看了一眼,却从来没有找到一个好的答案。

有多种方法可以配置Windows,以便在重新启动时自动以某个用户身份登录 - 不确定这是否会延长您的原因。