在Windows系统上,按 Win + L 将锁定工作站。 当工作站被锁定时,XUL插件检测中是否有一种方法?我可能会检测到按下这个组合键,但它只有在XUL应用程序处于焦点时才会起作用。
当计算机进入睡眠模式(或唤醒)时,有sleep_notification可用。我无法找到有关锁定工作站的任何信息。
答案 0 :(得分:0)
使用js-ctypes找到了一种方法(在Windows 10上测试过):
Components.utils.import("resource://gre/modules/ctypes.jsm");
var lib = ctypes.open("user32.dll"),
openDesktop = lib.declare("OpenDesktopA", ctypes.winapi_abi, ctypes.uint32_t, ctypes.char.ptr, ctypes.uint32_t, ctypes.bool, ctypes.uint32_t),
switchDesktop = lib.declare("SwitchDesktop", ctypes.winapi_abi, ctypes.bool, ctypes.uint32_t),
closeDesktop = lib.declare("CloseDesktop", ctypes.winapi_abi, ctypes.bool, ctypes.uint32_t),
desktop = openDesktop("Default", 0, 0, 0x0100),
isUnLocked = switchDesktop(desktop);
console.log(isUnLocked);//result false = locked, true = unlocked
closeDesktop(desktop);
lib.close();