#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Created by 秋叶夏风
# 本模块的功能:<重置键盘键位>
import sys
import os
save_format = "bat" # 这个值可以修改,有两个选项(bat和reg),可选择生成bat批处理文件或者reg注册表脚本文件,功能一样
class CountError(Exception): # 文本文件格式错误异常
pass
class FileFormatError(Exception): # save_format值异常
pass
if save_format not in ["bat", "reg"]:
raise FileFormatError("The variable 'save_format'`s value must be 'bat' or 'reg'.")
if __name__ == "__main__":
if not os.path.isdir("layout_" + save_format):
os.mkdir("layout_" + save_format)
if len(sys.argv) == 1:
if save_format == "bat":
with open("layout_bat/recover.bat", 'w') as f:
f.write(
'@echo off\nreg delete "hklm\\system\\currentcontrolset\\control\\keyboard layout" /v "ScanCode Map" /f\necho "键位已恢复,重启系统后生效"\npause')
input("恢复文件recover.bat已生成至layout_bat文件夹下,以管理员身份右键执行该文件后重启系统生效。\n按回车键退出程序...")
else:
with open("layout_reg/recover.reg", 'w') as f:
f.write(
'Windows Registry Editor Version 5.00\n[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Keyboard Layout]\n"ScanCode Map"=hex:00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00')
input("恢复文件recover.reg已生成至layout_reg文件夹下,双击执行该文件后重启系统生效。\n按回车键退出程序...")
elif len(sys.argv) == 2:
scan_code_dict = {
"00 00": "None",
"01 00": "Esc", # 即Esc键的扫描码是"0001"
"02 00": "1",
"03 00": "2",
"04 00": "3",
"05 00": "4",
"06 00": "5",
"07 00": "6",
"08 00": "7",
"09 00": "8",
"0a 00": "9",
"0b 00": "0",
"0c 00": "-",
"0d 00": "=",
Python3生成脚本实现重置键盘键位
最新推荐文章于 2023-01-06 17:02:48 发布