C# “作为系统运行并注销用户”;“用户”;大头针
我有一个作为计划任务运行的程序。该程序在XP as系统上运行。 其思想是,当用户处于活动状态时,程序将在后台运行 我需要的程序注销用户时,具体情况发生 我尝试使用:C# “作为系统运行并注销用户”;“用户”;大头针,c#,logoff,C#,Logoff,我有一个作为计划任务运行的程序。该程序在XP as系统上运行。 其思想是,当用户处于活动状态时,程序将在后台运行 我需要的程序注销用户时,具体情况发生 我尝试使用: [DllImport("user32.dll")] public static extern int ExitWindowsEx(int uFlags, int dwReason); 但这似乎并没有让用户注销 我想它可能正在注销系统,因为它正在作为系统运行 如何登录用户 谢谢, Summerbull.如果您显示了ExitWindo
[DllImport("user32.dll")]
public static extern int ExitWindowsEx(int uFlags, int dwReason);
但这似乎并没有让用户注销
我想它可能正在注销系统,因为它正在作为系统运行
如何登录用户
谢谢,
Summerbull.如果您显示了ExitWindowsEx的标志,这会有所帮助,但是您可能需要模拟用户,尽管我认为这不太可能。如果我记得注销当前用户已经足够了,但是您可能必须强制注销,因为如果用户没有保存某些更改,则可能会取消注销 但要模拟用户,您可以查看以下内容: 我将从这里开始,包括注销和强制挂起值: 参数类似于
EWX_FORCEIFHUNG | EWX_注销
更新:
我认为Mike是正确的,模拟在这里没有帮助。我认为您需要作为该用户运行一些代码。创建一个在用户登录时运行的应用程序,然后监视事件。让您的服务设置事件,然后代码将调用ExitWindowsEx方法。您仍然需要使用James提到的forceifhung和logoff参数。我认为模拟无法做到这一点,因为您将获得另一个用户窗口站/桌面/会话的实例。我编写了一个屏幕保护程序,将由窗口服务启动,因为系统会注销用户,但这类问题非常严重,很难调试。