适用于小米电脑管家 6.0,已在 6.0.0.39 实测。包含两个互相独立的补丁:
| 补丁 | 什么情况需要 | 修什么 | 改动的文件 |
|---|---|---|---|
| 一、机型白名单(默认) | 在非小米笔记本上装了管家 | 控制中心点「字幕转录」提示打开失败,「AI 降噪」等按钮不显示 | XiaomiPCManager.dll |
二、互联地区(-Region,可选) |
Windows 的国家或地区和手机的地区不一样(跨地区使用时常见) | 手机复制、电脑粘贴正常,但电脑复制、手机粘贴不行 | MiSmartShare\micont_rtm.dll |
两个补丁都会备份原版,可以一键还原。补丁二和机型无关,小米笔记本遇到同样的地区问题也能用。
症状:非小米笔记本上,控制中心点「字幕转录」提示打开失败;「AI 降噪」「智能跟踪拾音」等入口不显示。
原因:6.0 控制中心(.NET)先从注册表 HKLM\HARDWARE\DESCRIPTION\System\BIOS 的 BaseBoardProduct / SystemSKU / SystemProductName 中,用正则 TM\d{4} 提取小米机型代号,再拿它去查 DeviceModelConfig 里的白名单。非小米机型提取不到代号,于是 Is*Supported 全部返回 false。
做法:
- 把
DeviceModelConfig中所有static bool Is*Supported(string)方法的 IL 改成return true。 - 不伪造机型,性能模式等功能仍按真实机型处理。
- 按类名和方法签名定位,不写死偏移。方法实现如果变了(例如加了异常处理),会跳过该方法并提示,不会强行修改。
5.x 时代常用的 wtsapi32.dll 劫持补丁对 6.0 无效,因为 .NET 主程序从 System32 加载 wtsapi32。
症状:跨设备剪贴板只能单向用。手机复制、电脑粘贴正常;电脑复制后,手机上粘贴没有反应,只有在手机的剪贴板列表里手动点才能取到。
原因:
- 6.0 的小米互联服务(
micont_service,核心是micont_rtm.dll)把注册表HKCU\Control Panel\International\Geo的Name当作电脑的设备地区,同步给手机。这个值就是 Windows 设置里的「国家或地区」。 - 手机的跨设备剪贴板(
com.milink.service)收到电脑的剪贴板通知后,会比较两边的地区,不一致就直接丢弃。手机日志:peer device is not same region with this device, ignore this msg - 5.x 的互联服务没有这项检查,所以升级到 6.0 后才出现。手机→电脑方向不检查地区,不受影响。
做法:
- 把
micont_rtm.dll里唯一的路径字符串Control Panel\International\Geo改成Software\MI\micont\GeoOverride。只改这一个字符串,不动代码。 - 在
HKCU\Software\MI\micont\GeoOverride写入Name = <-Region 的值>。同时在HKEY_USERS\S-1-5-18下写一份,这是服务拿不到登录用户令牌时的回退路径。 - 停止
micont_service,替换文件后再启动。只有这个服务加载micont_rtm.dll。 - Windows 的「国家或地区」保持不变,只有小米互联会读到覆盖值。
-Region 填什么:填手机的地区,两位代码。国行手机填 CN,也可以直接双击 unlock-region-cn.bat。
不想改文件的话:把 Windows「设置 → 时间和语言 → 语言和区域 → 国家或地区」改成和手机一致,效果相同。但会影响 Microsoft Store、资讯等跟随地区的功能。
| 版本 | 情况 |
|---|---|
| 6.0 | 可用,已在 6.0.0.39 实测 |
| 5.x 及更早 | 不适用。5.x 的控制中心在单独的 PcControlCenter.dll 里,结构和 6.0 不同;5.x 也没有地区检查 |
| 6.0 之后 | 未测试。类名、方法签名、路径字符串不变的话一般可以直接用;结构变了,工具会提示跳过或无法识别,不会强行修改 |
运行 unlock.ps1 -Action Status 可以先看工具能不能识别你装的版本。
只需要 Windows 10/11 自带的 PowerShell 5.1,没有其他依赖。bat 会请求管理员权限,并按需自动关闭、重启管家(补丁一)和互联服务(补丁二)。
| 文件 | 作用 |
|---|---|
unlock.bat |
只打补丁一 |
unlock-region-cn.bat |
补丁一 + 补丁二(地区 CN) |
restore.bat |
两个补丁全部还原,并删除覆盖用的注册表键 |
命令行用法:
powershell -ExecutionPolicy Bypass -File unlock.ps1 -Action Status # 查看状态
powershell -ExecutionPolicy Bypass -File unlock.ps1 # 补丁一
powershell -ExecutionPolicy Bypass -File unlock.ps1 -Region CN # 补丁一 + 补丁二;已打过补丁二时只更新地区值
powershell -ExecutionPolicy Bypass -File unlock.ps1 -Action Restore # 全部还原安装目录会自动探测,也可以用 -Path 直接指定 XiaomiPCManager.dll。原版备份分别是同目录的 XiaomiPCManager.dll.bak 和 MiSmartShare\micont_rtm.dll.bak,还原后会删除。
| 功能 | 结果 |
|---|---|
| 字幕转录 | 补丁一后可用 |
| AI 降噪、智能跟踪拾音 | 补丁一后入口出现,实际效果未充分验证 |
| 剪贴板 电脑→手机 | 补丁二后可用(Windows 地区与手机地区不同) |
| 人像居中 | 不可用,见下文 |
| 手机摄像头协同 | 本身不受机型和地区限制,不需要补丁 |
人像居中为什么是灰的:这是摄像头驱动层的特效。实现在小米设备服务 MiDeviceService 里(CameraSetting::SetAutoFrame、CameraMipiManager),要配合小米笔记本的 MIPI 摄像头和小米定制的摄像头驱动才能自动取景。普通 USB 摄像头没有这套驱动,状态查询一直超时,按钮也就是灰的。补丁一只能让按钮出现,补不出硬件和驱动。
只想用字幕转录的话,也可以不打补丁,直接运行 <安装目录>\modules\svrc\subtitle\SubtitleTranscription.exe。
- 修改后,被改的文件的小米数字签名会失效。目前没有发现管家或互联服务会校验这两个文件的签名。
- 管家升级会安装到新的版本目录,补丁随之失效,升级后重新运行对应的 bat 即可。
- 本工具只修改本机已安装的文件,不包含也不分发任何小米的二进制文件。
- 仅供学习研究,使用风险自负。本项目与小米公司无关。
MIT。许可证只覆盖本项目的代码,不涉及小米电脑管家本身。