检测计算机何时解锁Windows

2024-05-15 22:00:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我用this excellent method锁定了一台windows计算机;这部分工作得很好。但是,我想做的是检测计算机何时解锁,然后继续我的程序。为了找到一种方法,我在web上做了大量的研究,但是我还没有发现python能够检测到计算机状态的变化(即当计算机再次登录或解锁时)。在python中是否可以检测到Windows机器何时被解锁或登录到?注意我使用的是python2.7.6和windows7。谢谢


Tags: 方法程序机器webwindows状态计算机this
1条回答
网友
1楼 · 发布于 2024-05-15 22:00:43

我在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)

相关问题 更多 >