# mini-bar **Repository Path**: ssuiwp/mini-bar ## Basic Information - **Project Name**: mini-bar - **Description**: windows minimal task bar - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-01 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Mini Bar Mini Bar 是一个轻量级的 Windows 窗口管理工具,类似于系统任务栏,可以自动吸附在屏幕边缘显示当前打开的窗口,提供快速的窗口切换和管理功能。 > 左键切换窗口,右键关闭 ## 功能特性 - **窗口管理**:自动检测并显示系统中所有打开的窗口 - **窗口吸附**:类似任务栏的窗口列表功能 - **系统托盘**:支持最小化到系统托盘运行 - **窗口提示**:鼠标悬停时显示窗口进程信息(名称、图标、路径) - **窗口高亮**:当前活动窗口会有明显的视觉标识 - **事件响应**:实时响应窗口的创建、关闭、激活等事件 - **进程图标**:显示各窗口对应的程序图标 - **系统窗口过滤**:自动隐藏系统窗口和非 Shell 窗口 ## 系统要求 - Windows 操作系统(Windows 7 及以上版本) - CMake 3.10 或更高版本 - 支持 C++11 的编译器(Visual Studio、MinGW 等) ## 编译方法 ### 使用 Visual Studio ```bash # 1. 生成 Visual Studio 项目 cmake -G "Visual Studio 16 2019" -A x64 . # 2. 打开生成的解决方案文件,编译项目 ``` ### 使用 MinGW ```bash # 1. 生成 Makefile cmake -G "MinGW Makefiles" .. # 2. 编译项目 mingw32-make ``` ### 使用命令行编译 ```bash # 64位 Release 版本 cmake -DCMAKE_BUILD_TYPE=Release -A x64 . cmake --build . --config Release ``` ## 使用说明 1. **启动**:运行编译生成的 `mini-bar.exe` 程序 2. **窗口显示**:程序会自动在屏幕底部显示一个工具栏 3. **切换窗口**:点击工具栏中的窗口图标即可切换到对应窗口 4. **查看信息**:鼠标悬停在窗口图标上会显示程序名称和路径 5. **退出程序**:右键点击系统托盘图标选择退出 ## 技术实现 ### 核心模块 - **窗口管理**:使用 `std::vector` 维护窗口列表 - **事件钩子**:通过 `HWINEVENTHOOK` 监听窗口创建、销毁、激活等事件 - **托盘图标**:使用 `NOTIFYICONDATA` 实现系统托盘集成 - **应用栏**:通过 `APPBARDATA` 注册应用栏,实现窗口吸附功能 ### 主要函数 | 函数名 | 功能说明 | |--------|----------| | `IsValidWindow()` | 验证窗口有效性 | | `AddWindow()` | 添加窗口到管理列表 | | `RemoveWindow()` | 从管理列表中移除窗口 | | `RefreshAll()` | 刷新所有窗口状态 | | `GetProcessPath()` | 获取窗口对应进程路径 | | `GetProgramIcon()` | 获取程序图标 | | `RegisterEvents()` | 注册窗口事件监听 | | `WinEventProc()` | 窗口事件回调处理 | ### 消息处理 - `WM_TRAY`:托盘图标消息 - `WM_REFRESH_WINDOW`:窗口刷新消息 - `WM_PAINT`:窗口绘制消息 - `WM_MOUSEMOVE`:鼠标移动消息 ## 项目结构 ``` mini-bar/ ├── main.cpp # 主程序代码 ├── CMakeLists.txt # CMake 构建配置 ├── resource.rc # Windows 资源文件 └── mini-bar.ico # 程序图标 ``` ## 许可证 本项目遵循 MIT 许可证开源。