Security 如何启动非活动工作站锁?
如果调用API,它会立即锁定工作站 但当使用类似于集团政策的内容时,您有一个宽限期,其中:Security 如何启动非活动工作站锁?,security,winapi,interactive,Security,Winapi,Interactive,如果调用API,它会立即锁定工作站 但当使用类似于集团政策的内容时,您有一个宽限期,其中: 屏幕空白 和() 在工作站真正锁定之前 (即使禁用了屏幕保护程序,也会出现这种空白) 据我所知,这个宽限期的存在是一个内部实现细节,即使它的值存在于注册表中: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ScreenSaverGracePeriod 它的使用,或者与非活动锁相关的任何其他行为,我假设都是内部实现细节 作为一个应
- 屏幕空白
- 和()
- 在工作站真正锁定之前
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ScreenSaverGracePeriod
它的使用,或者与非活动锁相关的任何其他行为,我假设都是内部实现细节
作为一个应用程序,我如何触发与非活动锁触发的相同的操作(以便发生的事情就是应该发生的事情)
因此,我想调用Windows调用的任何东西,而不是调用,以便:
- 空白屏幕
- 给予宽限期
- 锁定工作站
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
windowsAPI wi帮助在此 GetLastInputInfo检索上次输入事件的时间(以毫秒为单位) 要清空屏幕,请执行以下操作:
HWND_BROADCAST = 0xFFFF
WM_SYSCOMMAND = 0x0112
SC_MONITORPOWER = 0xF170
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2)
2=显示关闭
最后,要锁定工作站,请执行以下操作:
锁定工作站api函数
LockWorkStation函数只能由在交互式桌面上运行的进程调用。此外,用户必须登录,并且工作站不能被锁定。这不是OP想要的。OP希望为策略触发操作系统的本机功能,而不是手动实现每个步骤。好吧,这是触发此功能的唯一方法,当然我很乐意看到其他解决方案。我使用GetLastInputInfo;这样我才知道什么时候该打电话给LockWorkStation。我想避免的是货物崇拜的模仿。例如,Windows不保证ScreenSaverGracePeriod是一件事;它是WinLogon的内部。我正在寻找面向公众的API。与上述API最接近的不是您提供的链接背后的注册表项吗?这都是winlogon.exe内部的,没有面向公众的API。