Skip to content

456wyc/hotdog

Repository files navigation

Hotdog

一个功能强大的Windows热键冲突检测和分析工具,提供智能冲突分析、用户热键管理和多格式报告导出。

🚀 功能特点

智能热键检测

  • 多类型热键检测

    • 系统级热键(Win+L, Alt+Tab, Ctrl+Alt+Del等)
    • 应用程序全局热键
    • 注册表中的热键配置
    • 当前活动窗口的快捷键
    • 用户自定义热键
  • 增强检测能力

    • 虚拟键码解析
    • 修饰键标准化处理
    • 进程信息关联
    • 已知热键数据库(35+系统热键和17+通用应用热键)

智能冲突分析

  • 多维度评分系统

    • 源类型优先级:系统级(100) > 知名软件(80) > 应用程序(60) > 用户定义(40)
    • 应用程序重要性评分(40+常用应用程序)
    • 冲突严重程度:critical > high > medium > low
  • 冲突分类系统

    • system_override: 系统级热键覆盖
    • cross_application: 跨应用程序冲突
    • standard: 标准冲突
  • 自动解决方案

    • 智能解决建议生成
    • 替代热键方案推荐
    • 优先级热键选择

用户热键管理

  • 完整的CRUD操作

    • 添加、编辑、删除用户自定义热键
    • 热键格式验证
    • 搜索和过滤功能
  • 数据持久化

    • JSON格式存储
    • 操作历史记录
    • 导入/导出功能

多格式报告导出

  • 支持三种格式

    • JSON: 结构化数据,便于程序处理
    • CSV: 便于Excel分析,包含详细字段
    • TXT: 人类友好格式,包含完整报告
  • 报告管理

    • 自动文件大小格式化
    • 旧报告自动清理
    • 报告文件列表管理

现代化配置管理

  • 5大配置分类

    • General: 常规设置
    • Detection: 检测选项
    • Alerts: 警报设置
    • Export: 导出设置
    • Advanced: 高级选项
  • 配置特性

    • INI文件配置管理
    • 配置验证和自动修复
    • 配置导入/导出功能
    • 默认配置自动生成

🛠️ 系统要求

  • 操作系统: Windows 7/8/10/11
  • Python版本: 3.6 或更高版本
  • 推荐权限: 管理员权限(某些检测功能需要)

📦 安装步骤

方法1:自动安装 (推荐)

  1. 下载所有程序文件到一个文件夹
  2. 双击运行 安装依赖.bat - 会自动创建虚拟环境并安装依赖
  3. 双击 启动程序.bat 启动程序

方法2:手动安装

  1. 创建虚拟环境

    python -m venv .venv
  2. 激活虚拟环境

    # Windows
    .venv\Scripts\activate
    
    # Linux/Mac
    source .venv/bin/activate
  3. 安装依赖

    pip install -r requirements.txt
  4. 运行程序

    python main.py

🎯 使用说明

启动程序

双击 main.py 或在命令行运行:

python main.py

主界面功能

现代化界面布局

  • 左侧面板: 统计概览和快速操作
  • 右侧面板: 主内容区域,使用标签页组织

标签页功能

  1. 概览标签页

    • 冲突概览列表
    • 双击查看冲突详情
    • 显示热键组合、冲突应用、类型、严重程度和建议
  2. 冲突详情标签页

    • 详细列出所有冲突信息
    • 显示应用程序、类型、描述、进程ID和检测时间
  3. 所有热键标签页

    • 显示所有检测到的热键
    • 支持搜索和过滤功能
    • 实时搜索关键词
  4. 报告标签页

    • 生成和查看冲突报告
    • 支持JSON/CSV/TXT三种格式
    • 报告文件管理(查看、导出、删除)
  5. 日志标签页

    • 实时显示操作日志
    • 支持清空和保存日志

工具栏功能

  • 开始扫描: 扫描系统中的热键
  • 分析冲突: 分析检测到的热键冲突
  • 导出报告: 导出冲突分析报告
  • 用户热键管理: 管理用户自定义热键
  • 设置: 配置应用程序行为

操作流程

  1. 开始扫描

    • 点击"开始扫描"按钮
    • 程序将自动检测所有类型的热键
    • 扫描过程显示实时进度
  2. 分析冲突

    • 扫描完成后点击"分析冲突"按钮
    • 系统使用智能算法分析热键冲突
    • 生成详细的冲突报告和建议
  3. 查看结果

    • 在"概览"标签页查看冲突概览
    • 在"冲突详情"标签页查看详细信息
    • 在"所有热键"标签页查看所有检测到的热键
  4. 管理用户热键

    • 点击"用户热键管理"按钮
    • 添加、编辑或删除用户自定义热键
    • 用户热键会参与冲突分析
  5. 导出报告

    • 点击"导出报告"按钮
    • 选择导出格式(JSON/CSV/TXT)
    • 选择保存位置

🔧 项目结构

hotdog/
├── 核心模块
│   ├── enhanced_gui.py              # 增强版GUI界面 (v2.0)
│   ├── hotkey_conflict_detector_v2.py # 主控制器 (v2.0)
│   ├── hotkey_data_models.py        # 数据模型
│   ├── smart_conflict_analyzer.py   # 智能冲突分析器
│   ├── config_manager.py            # 配置管理系统
│   ├── report_exporter.py           # 多格式报告导出
│   ├── user_hotkey_manager.py       # 用户热键管理
│   └── enhanced_hotkey_detector.py  # 增强热键检测器
│
├── 原版程序 (保留兼容)
│   ├── hotkey_conflict_detector.py  # 原版检测器
│   ├── hotkey_gui.py                # 原版GUI
│   └── main.py                      # 主程序入口
│
├── 配置和工具
│   ├── requirements.txt             # 依赖包
│   ├── test_gui.py                  # 功能测试
│   ├── 启动程序.bat                 # 启动脚本
│   ├── 安装依赖.bat                 # 安装脚本
│   └── README.md                    # 使用说明
│
├── 运行时目录 (自动创建)
│   ├── config/                      # 配置文件
│   ├── data/                        # 用户数据
│   ├── reports/                     # 报告文件
│   └── logs/                        # 日志文件
│
└── 参考项目
    └── hotkey_conflict_checker/     # 参考项目

❓ 常见问题

Q: 程序提示缺少依赖项?

A: 运行以下命令安装依赖:

pip install pywin32 psutil

Q: 某些热键检测不到?

A: 请以管理员权限运行程序,某些系统级热键需要管理员权限才能检测。

Q: 程序运行很慢?

A: 热键检测需要扫描系统进程和注册表,属于正常现象。可以在日志标签页查看进度。

Q: 如何解决热键冲突?

A: 程序提供智能解决建议:

  • 修改应用程序的热键设置
  • 使用推荐的替代热键组合
  • 禁用不需要的全局热键
  • 为不同应用程序设置不同的热键前缀

Q: 用户自定义热键有什么作用?

A: 用户自定义热键可以:

  • 参与冲突分析,避免与自定义热键冲突
  • 记录个人常用的热键组合
  • 作为热键配置的参考

🔬 技术原理

架构设计

  • 模块化架构: 低耦合高内聚的设计
  • 数据驱动: 基于数据模型的统一处理
  • 插件化扩展: 便于后续功能扩展

核心技术

  1. Windows API调用

    • 使用win32api获取系统信息
    • 枚举运行中的进程
    • 查询窗口信息和注册表
  2. 智能分析算法

    • 多维度评分系统
    • 冲突类型自动识别
    • 严重程度智能判断
  3. 数据持久化

    • JSON序列化/反序列化
    • INI配置文件管理
    • 自动目录创建和管理

📊 开发信息

  • 编程语言: Python 3
  • GUI框架: tkinter + ttk (现代化主题)
  • 系统API: pywin32
  • 进程管理: psutil
  • 数据格式: JSON, CSV, INI
  • 架构模式: MVC模式

About

热键冲突检测工具

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages