【问题标题】:Detect when computer is unlocked Windows检测计算机何时解锁 Windows
【发布时间】:2014-10-28 01:20:24
【问题描述】:
我用this excellent method 锁定了一台windows电脑;那部分工作正常。但是,我想做的是检测计算机何时解锁,然后继续执行我的程序。我在网上做了很多研究以找到一种方法来做到这一点,但我还没有看到 python 检测计算机状态变化的任何方法(即当计算机再次登录或解锁时)。 是否可以在 python 中检测 Windows 机器何时解锁或登录?注意我正在使用 python 2.7.6 和 Windows 7。谢谢
【问题讨论】:
标签:
python
windows
python-2.7
【解决方案1】:
我在http://timgolden.me.uk/python/win32_how_do_i/see_if_my_workstation_is_locked.html找到了一个脚本
import time
import ctypes
user32 = ctypes.windll.User32
OpenDesktop = user32.OpenDesktopA
SwitchDesktop = user32.SwitchDesktop
DESKTOP_SWITCHDESKTOP = 0x0100
user32.LockWorkStation ()
#
# Slight pause to overcome what appears to
# be a grace period during which a switch
# *will* succeed.
#
time.sleep (1.0)
while 1:
hDesktop = OpenDesktop ("default", 0, False, DESKTOP_SWITCHDESKTOP)
result = SwitchDesktop (hDesktop)
if result:
print "Unlocked"
break
else:
print time.asctime (), "still locked"
time.sleep (2)