防止电脑自动休眠小妙招

描述

由于电脑加域,管理员设置了电脑休眠时间,导致即使设置了休眠时长为从不,依旧会强制休眠。有时或许只是在记笔记,或者是看文档资料,并不会一直操作着电脑。本着偷懒的想法,实现自动操作键鼠的脚本,避免电脑休眠。

pynput库

描述

pynput是一个控制和监听键鼠的库。

pynput鼠标move的坑

pynput.mouse.move(x, y)可以将鼠标移动到x和y,但是该方法不会被on_move(x, y)监听到。由这点可以得知,pynput.mouse.move(x, y)一样不会被电脑监听到,导致如果用pynput.mouse.move(x, y)依旧会休眠

实现

import time         # 时间库
import pynput       # 键鼠操作自动化库

# 数据
data = {
    
    
    "activeSleepTime" : 90,     # 休眠时间
    "isLive" : True,            # 在休眠时间期间是否进行过键鼠操作
}

# 鼠标移动监听
def on_move(x, y):
    data["isLive"] = True

# 鼠标点击监听
def on_click(x, y , button, pressed):
    data["isLive"] = True

# 鼠标滑轮监听
def on_scroll(x, y ,dx, dy):
    data["isLive"] = True

# 键盘按下监听
def on_press(key):
    data["isLive"] = True
    # data[key] = True 这个设置后就可以自己弄一个长按监听等实现

# 键盘弹起监听
def on_release(key):
    data["isLive"] = True
    # data[key] = False 这个设置后就可以自己弄一个长按监听等实现

# 主函数
def main():
    # 获取键盘的控制器
    keyboardController = pynput.keyboard.Controller()
    # 设置鼠标监听, 应该是另起了一个线程, 因此需要start
    pynput.mouse.Listener(on_move = on_move, on_click = on_click, on_scroll = on_scroll).start()
    # 设置键盘监听, 应该是另起了一个线程, 因此需要start
    pynput.keyboard.Listener(on_press = on_press, on_release = on_release).start()
    # 主函数内阻塞
    while True:
        # 在休眠前, 默认不活动 (ps: 也可以去记录监听的时间戳, 根据时间戳进行判断)
        data["isLive"] = False
        # 休眠
        time.sleep(data["activeSleepTime"])
        # 在休眠期间是否活动
        if not data["isLive"]:
            # 休眠期间没有活动, 模拟键盘按下和弹起
            keyboardController.press(pynput.keyboard.Key.left)
            keyboardController.release(pynput.keyboard.Key.left)
            keyboardController.press(pynput.keyboard.Key.right)
            keyboardController.release(pynput.keyboard.Key.right)

# 函数入口
if __name__ == "__main__":
    main()
    exit(0)

猜你喜欢

转载自blog.csdn.net/qq_37340753/article/details/120612188