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()版权声明:本文标题:用python编写一个用for循环控制键盘ScrollLock指示灯的程序_python 模拟按下滚动锁定 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1773849560a3566426.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论