如果调用 LockWorkstation API,它将立即锁定工作站。
但是当使用类似Machine Inactivity Limit组策略的内容时,您有一个宽限期,其中:
(即使禁用了屏幕保护程序,也会发生这种消隐)。
据我所知,此宽限期的存在是内部实现细节,即使其值存在于注册表中:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ScreenSaverGracePeriod
它的使用或与非活动锁相关的任何其他行为,我认为是内部实现细节。
作为一个应用程序,我如何触发与非活动锁触发的动作相同的动作(以使发生的事情应该发生)?
因此,我不想调用LockWorkStation,而是想调用Windows调用的任何东西,这样:
答案 0 :(得分:0)
windowsAPI wi帮助在这里...
GetLastInputInfo检索上一个输入事件的时间(以毫秒为单位)。
要使屏幕空白:
HWND_BROADCAST = 0xFFFF
WM_SYSCOMMAND = 0x0112
SC_MONITORPOWER = 0xF170
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
2 =关闭显示
最后锁定工作站:
LockWorkStation api函数
只有在交互式桌面上运行的进程才能调用LockWorkStation功能。另外,用户必须已登录,并且工作站不能已经锁定。