检测计算机何时解锁Windows

时间:2014-10-28 01:20:25

标签: python windows python-2.7

我使用this excellent method来锁定Windows计算机;那部分工作正常。但是,我想要检查计算机何时解锁然后继续我的程序。我已经在网上做了一些研究以找到一种方法来做到这一点,但我还没有看到任何方法让python检测到计算机状态的变化(即当计算机再次登录或解锁时)。 是否可以在python中检测Windows机器解锁或登录的时间?注意我正在使用python 2.7.6和Windows 7.感谢

1 个答案:

答案 0 :(得分: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)