如何用 Windhawk 免费定制 Windows 程序:模块化的完整指南

发布时间:2026/11/6 4:53:39
如何用 Windhawk 免费定制 Windows 程序:模块化的完整指南

如何用 Windhawk 免费定制 Windows 程序:模块化的完整指南

【免费下载链接】windhawkThe customization marketplace for Windows programs: https://windhawk.net/项目地址: https://gitcode.com/gh_mirrors/wi/windhawk

关闭任务栏上的程序还要右键、找菜单、再点一下?装一个 Windhawk 模块后,中键单击就能直接关。Windhawk 是一个免费开源的 Windows 程序定制工具,通过向现有程序注入模块化功能来实现定制,不改动任何系统文件。

Windhawk 是什么,适合谁用

它的定位可以理解为"Windows 程序的 mod 市场":主程序提供注入引擎和图形化管理界面,社区则贡献大量模块(mod),每个模块只负责一个小功能,并自己声明对哪些 exe 生效。它不绑定某一款软件,浏览器、任务栏、开始菜单、画图这类程序都可以被改造。最该关注它的人,是那些对默认交互方式不习惯、又不想等软件官方出设置项的用户;由于引擎和模块源码都开放,动手能力强的人也可以自己构建、审计。

Windhawk 工作原理:不动文件怎么给程序加功能

把它想象成一条路上的"拦截器":程序运行时每次调用某个系统函数,Windhawk 的引擎都可以先拦下来,交给模块决定是修改参数、原样放行还是直接阻断。程序磁盘上的文件从头到尾没被碰过,卸载模块即恢复原状。

从架构上看分四部分:Launcher 是入口;Engine 被注入到各个 Windows 进程中常驻;Mod 由编译器生成,被引擎加载后对目标程序生效;VS Code 扩展则负责模块的编译、安装和管理。

5 分钟装好 Windhawk,第一次先开哪个模块

安装走官网的安装版(系统集成较好)或便携版即可;如果打算看源码或参与构建,也可以直接拉代码:

git clone https://gitcode.com/gh_mirrors/wi/windhawk

打开主界面后,上半部分是 Installed Mods(已装模块,每个都有独立开关),下半部分是 Featured Mods(推荐模块,带用户数和评分)。我的顺序建议是:先装 "Middle click to close on the taskbar",效果立竿见影,验证整套机制跑通;经常开十几个标签页的话,接着试 "Chrome/Edge scroll tabs with mouse wheel",它对 chrome.exe 和 msedge.exe 生效;最后再碰 "Windows 11 Start Menu Styler" 这类外观向的模块。每装一个新模块就用一周,有问题随时关开关,不留后患。

常用功能盘点:一次只改一件事

  • 任务栏关闭:中键点任务栏图标直接结束程序,省掉右键菜单这一整条路径。
  • 滚轮切标签:鼠标悬停在标签栏上滚动滚轮即可切换标签,长标签栏不用拖。
  • 窗口排列:窗口带滑动动画自动对齐吸附,不用手动拖到像素级。
  • 开始菜单样式:主题色、透明度、图标布局可调,覆盖的是开始菜单控件的样式属性。
  • 模块级设置:每个模块可单独启用或停用,多数模块还带自己的设置项,改动互不牵连。

装了 Windhawk 前后:体验差异一览

使用场景没装 Windhawk装上模块后
关掉任务栏程序右键图标,在菜单里找到并点"关闭"中键单击一步完成
切换浏览器标签在几十个标签里找目标,再点一下悬停标签栏,滚轮滚动直接切
整理窗口位置逐个拖动对齐,无吸附反馈自动吸附,带动画落位
开始菜单外观样式固定,基本没有设置入口主题、透明度、布局均可调

⚠️ 踩坑提醒:装模块前先看三件事

  • 先看模块的适用进程。模块头部会声明@include的 exe 列表,你根本不用那个程序的模块,装了对系统只有多一份注入开销,没有收益。
  • 新模块一次只装一个。真出问题的时候,你能立刻知道是哪个模块引起的;一次装一堆,排查起来非常痛苦。
  • 程序更新后模块失效,先查模块版本。浏览器这类软件更新频繁,函数入口变了 hook 就会掉,多数情况下模块作者发个新版就能恢复,不用怀疑主程序。

🧩 进阶玩法:模块组合与写自己的 mod

组合没什么玄学:行为类和外观类模块各管各的,可以先确认单个模块稳定,再叠加使用,比如"中键关闭"配上窗口吸附,日常收窗、关窗都顺了。

再往下就是自己写模块。仓库里带了完整的模板文件,可以直接参考 mod_template.wh.cpp:头部注释声明模块元信息和目标进程,中间用 YAML 定义用户可见的设置项(会自动生成设置界面),正文核心就是初始化时安装钩子:

BOOL Wh_ModInit() { // 读取设置,用 Wh_SetFunctionHook 安装函数钩子 return TRUE; }

VS Code 扩展提供编译和调试支持,保存后编译,运行目标程序即可看到效果,整体门槛比想象中低。

下一步做什么

  • 新手:装一个模块用满一周,再决定加不加第二个。
  • 进阶用户:平时遇到别扭的操作就记下来,去推荐列表里搜有没有现成模块,没有再考虑组合或自己写。
  • 开发者:从 README.md 和src目录下的引擎源码入手,先把一个最小 mod 编译跑通,再研究注入和 hook 的实现细节。

系统能改成什么样,过去取决于厂商什么时候加设置项;Windhawk 把这件事交还给了用户自己。

【免费下载链接】windhawkThe customization marketplace for Windows programs: https://windhawk.net/项目地址: https://gitcode.com/gh_mirrors/wi/windhawk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考