当工作站被锁定时得到通知

Get notified when workstation gets locked

在 Windows 系统上按 Win + L 将锁定工作站。 当工作站被锁定时,XUL 插件是否有检测方法?我可能会检测到按下这个组合键,但只有在 XUL 应用程序处于焦点时它才会起作用。

当计算机进入睡眠模式(或唤醒)时,有一个 sleep_notification 可用。我找不到任何关于锁定工作站的信息。

找到使用 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();