0
是否有办法来自动检查当前用户锁定自己的电脑? (通常由Win+L
激活)。我看到的一个黑客方法是以某种方式捕获所有组合键,但问题是如何知道用户已返回?检查Windows的屏幕被锁定
也许有一些标志,可通过Python或Windows终端进行访问?
编辑:我试图将代码从这里:Detect when computer is unlocked Windows
它检测当屏幕被锁定,而不是在它的解锁,它会继续写“屏幕仍然锁定”下去。那么问题是什么?我有Python 3.4,64位Win7。
编辑2:其实result
总是0
对我来说,即使没有任何锁定,所以实际上它不检测任何东西。
import ctypes
user32 = ctypes.windll.User32
OpenDesktop = user32.OpenDesktopA
SwitchDesktop = user32.SwitchDesktop
DESKTOP_SWITCHDESKTOP = 0x0100
hDesktop = OpenDesktop ("default", 0, False, DESKTOP_SWITCHDESKTOP)
result = SwitchDesktop (hDesktop)
print(result)
的[检测当计算机被解锁视窗]可能的复制(http://stackoverflow.com/questions/26599462/detect-when-computer-is-unlocked- windows) – asongtoruin
我试过了,它只能部分工作。 – Nik
此代码在Python 3中不起作用,因为您将unicode传递给(尚未弃用且绝对要避免的)[A] NSI API OpenDesktopA而不是[W] ide字符API OpenDesktopW '。它也没有设置'restype'和'argtypes',所以它很容易崩溃Python。这不是处理错误。它泄漏了一个手柄。它可能会修改当前输入桌面作为副作用。它使用'ctypes.windll',这是脆弱的图书馆间的冲突,而不是'ctypes.WinDLL',因而也没有使用'use_last_error = TRUE;保护线程的最后一个错误值。 – eryksun