0. 思路
由于 Windows Sandbox 的特殊性,每次启动的时候都需要重新设置输入法。因此我希望通过自动化的方式来自动设置小鹤双拼为默认输入法。由于 Windows 自带的输入法的配置都是保存在注册表中的,所以我们可以通过修改注册表的方式来实现自动化设置。
1. 方法
1.1. 准备小鹤双拼的reg文件
之前的文章中已经介绍了如何创建小鹤双拼的注册表文件。
创建一个 txt 文档,名称随意,例如: xiaohe.txt,然后将下面的代码复制到文档中,保存。
(注意将文件扩展名展示出来)
1 2 3 4 5 6 7 8 9 10 11 12 13
| Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\InputMethod\Settings\CHS] "Enable Cloud Candidate"=dword:00000000 "Enable Dynamic Candidate Ranking"=dword:00000001 "EnableExtraDomainType"=dword:00000001 "Enable self-learning"=dword:00000001 "EnableSmartSelfLearning"=dword:00000001 "EnableLiveSticker"=dword:00000000 "Enable EUDP"=dword:00000001 "Enable Double Pinyin"=dword:00000001 "UserDefinedDoublePinyinScheme0"="小鹤双拼*2*^*iuvdjhcwfg^xmlnpbksqszxkrltvyovt" "DoublePinyinScheme"=dword:0000000a
|
保存后将文件后缀名改为 reg,例如: xiaohe.reg,并把它保存在宿主机的文件夹中,例如C:\SandboxSetup\xiaohe.reg
1.2. 准备添加输入法脚本
创建一个 addzh-cn.ps1 文件,内容如下:
1 2 3 4 5
| $LanguageList = Get-WinUserLanguageList
$LanguageList.Add("zh-Hans-CN")
Set-WinUserLanguageList $LanguageList -Force
|
1.3. 准备自动运行脚本
创建一个 setup.cmd 文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12
| :: 添加中文输入法 powershell.exe -executionpolicy bypass -file C:\SandboxSetup\addzh-cn.ps1
:: 安装小鹤双拼方案 reg import C:\SandboxSetup\xiaohe.reg
:: 开启微软拼音双拼 reg add "HKCU\Software\Microsoft\InputMethod\Settings\CHS" /v EnableDoublePinyin /t REG_DWORD /d 1 /f
:: 切换到小鹤方案 reg add "HKCU\Software\Microsoft\InputMethod\Settings\CHS" /v DoublePinyinScheme /t REG_DWORD /d 10 /f
|
并把它保存在宿主机的文件夹中,例如C:\SandboxSetup\setup.cmd。
1.3. 修改 Sandbox 配置文件 .wsb
需要将上述两个文件的文件夹映射到 Sandbox 中,并配置自动运行脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13
| <Configuration> <MappedFolders> <MappedFolder> <HostFolder>C:\SandboxSetup</HostFolder> <SandboxFolder>C:\SandboxSetup</SandboxFolder> <ReadOnly>true</ReadOnly> </MappedFolder> </MappedFolders> <LogonCommand> <Command>cmd /c C:\SandboxSetup\setup.cmd</Command> </LogonCommand> </Configuration>
|
1.4. 启动 Sandbox
完成上述配置后,双击wsb文件启动 Windows Sandbox,系统会自动运行 setup.cmd 脚本,从而完成小鹤双拼的设置。