工作站锁定时收到通知

时间:2016-12-05 23:18:33

标签: javascript firefox-addon xul xulrunner

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

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

1 个答案:

答案 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();