语音合成辅助电话激活 Windows
几年前我在远景论坛上写过一篇不打电话来离线激活 Windows 或 Office 的 帖子,然而通过那个链接获得确认 ID 的途径已经不可用了。如今那个网页服务似乎已经变成 Getcid,并且 不再免费开放使用。于是乎,只能回到老路子电话激活。
印象中那个服务获得结果的响应速度远小于 10 秒,服务底层使用机器人接听电话的可能性不高,其是否使用了微软私有的 API 也不得而知。
以前国内的电话激活失败率非常高(现在不知道怎样),而英国、美国的电话激活的成功率非常高。经测试目前仍可使用 Skype 拨打两国免费激活电话、Google Voice 可以直接拨打美国电话。以前英国电话全流程都可以按键盘而不开口,现在似乎已经不行了。我用下来感觉语音识别的准确度不高(当然和我的发音有关系),有时一组数字报多次才可能被正确识别。
对于这个问题,突然想到找个 TTS 服务,结果发现浏览器已经有这个 API 了,于是预定义了一些文本来生成语音。经测试,对面再没有任何识别错误的地方。以后可考虑使用使用语音识别或 AI 来实现全自动化,但目前使用机会不多,这样就足够了。
<!DOCTYPE html>
<html lang="en" style="color-scheme: dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Activation</title>
<style>
#\$groups {
display: grid;
}
input {
width: -webkit-fill-available;
}
</style>
</head>
<body>
<input type="text" id="$installId" />
<div id="$script">
<button>activate windows</button>
<button>activate office</button>
<button>only one</button>
<button>yes</button>
<button>I'm ready</button>
<button>next</button>
<button>ok</button>
<div id="$groups"></div>
</div>
<script>
$script.addEventListener('click', (e) => {
const { target: $el } = e;
if ($el.tagName !== 'BUTTON') return;
speechSynthesis.speak(new SpeechSynthesisUtterance($el.textContent));
});
$installId.addEventListener('change', () => {
$groups.textContent = '';
$installId.value.split('-').forEach((group) => {
const button = document.createElement('button');
button.textContent = [...group].join(' ');
$groups.append(button);
});
});
</script>
</body>
</html>
# 安装 Windows 密钥
slmgr /ipk YTMG3-N6DKC-DKB77-7M9GH-8HVX7
# 复制安装 ID 到剪贴板
(cscript (gcm slmgr).Path -dti | sls '\d{63}').Matches[0] -replace '\d{7}(?=\d)', '$&-' | scb
# 使用确认 ID(CID)激活
slmgr /atp 000000000000000000000000000000000000000000000000