2017-02-01 111 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,打開遠程控制檯,輸入計算機名 一旦連接到遠程控制檯檢查安全日誌

注意:您可以設置一個主計算機收到你所選擇的日誌文件,使您能夠當用戶登錄自動看到/關閉/鎖定/解鎖