2017-02-01 89 views
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) 
+2

的[检测当计算机被解锁视窗]可能的复制(http://stackoverflow.com/questions/26599462/detect-when-computer-is-unlocked- windows) – asongtoruin

+0

我试过了,它只能部分工作。 – Nik

+1

此代码在Python 3中不起作用,因为您将unicode传递给(尚未弃用且绝对要避免的)[A] NSI API OpenDesktopA而不是[W] ide字符API OpenDesktopW '。它也没有设置'restype'和'argtypes',所以它很容易崩溃Python。这不是处理错误。它泄漏了一个手柄。它可能会修改当前输入桌面作为副作用。它使用'ctypes.windll',这是脆弱的图书馆间的冲突,而不是'ctypes.WinDLL',因而也没有使用'use_last_error = TRUE;保护线程的最后一个错误值。 – eryksun

回答

-2

打开补偿MGMT,打开远程控制台,输入计算机名 一旦连接到远程控制台检查安全日志

注意:您可以设置一个主计算机收到你所选择的日志文件,使您能够当用户登录自动看到/关闭/锁定/解锁