如何在工作站被锁定时注销用户

How to logoff a user when the workstation is locked?

本文关键字:定时 注销 用户 锁定 工作站      更新时间:2023-10-16

我编写了一个Windows应用程序,它包含两个模块:服务和用户模式应用程序。该服务实现其自己的调度器,并且可以在预定义的时间注销用户。为此,我使用了以下调用,该调用是在必须注销的登录用户会话中运行的用户模式模块触发的:

BOOL result = ExitWindowsEx(EWX_LOGOFF, reason);

除了用户的帐户被锁定的情况外,这种方法运行良好。在这种情况下,API似乎没有做任何事情,即使我得到1从它返回

所以我很好奇,当用户的帐户被锁定时,有没有其他方法可以注销用户?(在这种情况下,我有一个条件是,如果该用户有任何未保存的文档,则不应强制注销。)

试试这个:

DWORD dFlags = EWX_LOGOFF | EWX_FORCE | 0x10200;
BOOL result = ExitWindowsEx(dFlags, reason);