admin 管理员组

文章数量: 1184232

import ctypes
import time
import threading
# 定义键盘事件常量
KEYEVENTF_EXTENDEDKEY =0x0001
KEYEVENTF_KEYUP =0x0002
VK_SCROLL =0x91defpress_scroll_lock():"""模拟按下并释放ScrollLock键"""# 按下ScrollLock键
    ctypes.windll.user32.keybd_event(VK_SCROLL,0, KEYEVENTF_EXTENDEDKEY,0)
    time.sleep(0.05)# 短暂延迟确保按键被识别# 释放ScrollLock键
    ctypes.windll.user32.keybd_event(VK_SCROLL,0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0)defcheck_scroll_lock_state():"""检查ScrollLock当前状态"""return ctypes.windll.user32.GetKeyState(VK_SCROLL)&0x0001defmain():# 循环次数
    cycle_count =10# 每次状态保持时间(秒)
    delay =0.5print(f"开始控制ScrollLock指示灯,将闪烁{cycle_count}次")print("按Ctrl+C可中途退出")try:# 先确保初始状态是关闭的if check_scroll_lock_state():
            press_scroll_lock()
            time.sleep(0.1)# 使用for循环控制闪烁for i inrange(cycle_count):# 打开ScrollLock
            press_scroll_lock()
            state = check_scroll_lock_state()print(f"第{i +1}次 - ScrollLock已{'开启'if state else'关闭'}")
            time.sleep(delay)# 关闭ScrollLock
            press_scroll_lock()
            state = check_scroll_lock_state()print(f"第{i +1}次 - ScrollLock已{'开启'if state else'关闭'}")
            time.sleep(delay)except KeyboardInterrupt:print("\n程序已被用户中断")finally:# 确保最后关闭指示灯if check_scroll_lock_state():
            press_scroll_lock()print("程序结束,ScrollLock已关闭")if __name__ =="__main__":
    main()

本文标签: 关闭 编程 系统