使用python检测用户登陆状态
2018-04-28 09:14
211 查看
win32ts.WTSRegisterSessionNotification
监控计算机状态改变
https://msdn.microsoft.com/en-us/library/aa383841(v=vs.85).aspx
用户状态改变后,执行函数myststa(event),其中event代表用户状态信息,具体值查
看https://msdn.microsoft.com/en-us/library/aa383828(v=vs.85).aspx
代码:
import win32con import win32gui import win32ts WM_WTSSESSION_CHANGE = 0x2B1 class WTSMonitor(): className = "WTSMonitor" wndName = "WTS Event Monitor" def __init__(self): wc = win32gui.WNDCLASS() wc.hInstance = hInst = win32gui.GetModuleHandle(None) wc.lpszClassName = self.className wc.lpfnWndProc = self.WndProc self.classAtom = win32gui.RegisterClass(wc) style = 0 self.hWnd = win32gui.CreateWindow(self.classAtom, self.wndName, style, 0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, 0, 0, hInst, None) win32gui.UpdateWindow(self.hWnd) win32ts.WTSRegisterSessionNotification(self.hWnd, win32ts.NOTIFY_FOR_ALL_SESSIONS) def start(self): win32gui.PumpMessages() def stop(self): win32gui.PostQuitMessage(0) def WndProc(self, hWnd, message, wParam, lParam): if message == WM_WTSSESSION_CHANGE: self.OnSession(wParam, lParam) def OnSession(self, event, sessionID): print(event) myststa(event) if __name__ == '__main__': m = WTSMonitor() m.start()
相关文章推荐
- ThinkPHP5开发(三)使用Behavior检测用户登录状态
- 使用python检测手机QQ在线状态的脚本代码
- jsp利用session记录登陆状态,保证用户的使用连贯性,并且防止未登录用户绕过登陆页
- python使用cookie登陆新浪微博用户信息
- ThinkPHP5开发(三)使用Behavior检测用户登录状态
- Python使用装饰器模拟用户登陆验证功能示例
- 使用python检测手机QQ在线状态的脚本代码
- 一个登陆页面,包含了初始化用户,输入检测,错误处理等
- 使用Filter验证用户是否登陆,完整示例
- 一个登陆页面,包含了初始化用户,输入检测,错误处理等
- C#用AJAX验证用户登陆 使用三层结构
- 基于颜色模式的颜色条形码检测(使用python 2.7和opencv 2.2)
- 使用python检测windows操作系统架构(x86\x64)
- 推荐:ESRI用户使用Python指南
- 如何获得discuz得用户session登陆状态
- Servlet学习笔记(四)-----使用Servlet处理用户注册和登陆
- php使用curl模拟用户登陆
- Fedora13 使用root用户登陆
- 使用jquery+ajax方式实现用户注册时,检测用户名是否存在
- 分享一个检测用户使用的移动设备类型的php class