|
|
本帖最后由 zts59 于 2025-12-3 13:44 编辑
用过XP老人才可能用这个功能吧
好像是有这么一个说法:老软件不支持Unicode编码的,一定要在简体中文语言中启动输入不乱码。
之前添加美式键盘是添加到”英语“的语言中,把这个种”英语“的”美式键盘“设置默认后,导致输入乱码,
这次是添加到”简体中文“中的,为的就是尝试解决这个问题。
所以需要测试。
看看各位能否测试各个WINDOWS版本下是否成功。
执行后,请注销用户登陆重新登陆生效。
- @echo off
- REM 20251203测试WIN11_10.0.26200.7019成功,给简体中文添加美式键盘。
- REM ========== 配置区:请根据实际情况调整 ==========
- REM 设置要添加的输入法GUID(中文简体-美式键盘)
- set "TARGET_GUID={531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}"
- REM 设置目标语言代码:中文(简体)
- set "TARGET_LANG=zh-CN"
- REM ===============================================
- echo 正在添加并设置默认美式键盘...
- echo.
- REM 1. 备份当前注册表项(安全措施)
- reg export "HKCU\Keyboard Layout" "%TEMP%\KeyboardLayout_Backup.reg" /y >nul 2>&1
- reg export "HKCU\Control Panel\International" "%TEMP%\International_Backup.reg" /y >nul 2>&1
- echo [信息] 已创建注册表备份到 %%TEMP%% 目录
- REM 2. 在TIP注册表路径下创建美式键盘配置
- echo [步骤1] 创建输入法TIP配置...
- reg add "HKCU\Software\Microsoft\CTF\TIP\%TARGET_GUID%" /f >nul 2>&1
- reg add "HKCU\Software\Microsoft\CTF\TIP\%TARGET_GUID%\%TARGET_LANG%" /f >nul 2>&1
- reg add "HKCU\Software\Microsoft\CTF\TIP\%TARGET_GUID%\%TARGET_LANG%" /v "LanguageProfile" /t REG_SZ /d "0x00000001" /f >nul 2>&1
- REM 3. 将美式键盘添加到输入法切换列表
- echo [步骤2] 添加到输入法列表...
- for /f "tokens=*" %%i in ('reg query "HKCU\Keyboard Layout\Preload" 2^>nul ^| find /c "Preload"') do set /a NEXT_ID=%%i+1
- if "%NEXT_ID%"=="" set NEXT_ID=1
- reg add "HKCU\Keyboard Layout\Preload" /v "%NEXT_ID%" /t REG_SZ /d "00000804" /f >nul 2>&1
- reg add "HKCU\Keyboard Layout\Substitutes" /v "00000804" /t REG_SZ /d "00000409" /f >nul 2>&1
- REM 4. 设置美式键盘为默认输入法
- echo [步骤3] 设置为默认输入法...
- reg add "HKCU\Keyboard Layout\Toggle" /v "Hotkey" /t REG_SZ /d "1" /f >nul 2>&1
- reg add "HKCU\Keyboard Layout\Toggle" /v "Language Hotkey" /t REG_SZ /d "1" /f >nul 2>&1
- reg add "HKCU\Keyboard Layout\Toggle" /v "Layout Hotkey" /t REG_SZ /d "3" /f >nul 2>&1
- REM 5. 更新CTF输入法管理器设置
- reg add "HKCU\Software\Microsoft\CTF\Assemblies\0x00000804\0x00000001" /v "CLSID" /t REG_SZ /d "%TARGET_GUID%" /f >nul 2>&1
- reg add "HKCU\Software\Microsoft\CTF\Assemblies\0x00000804\0x00000001" /v "Profile" /t REG_SZ /d "%TARGET_GUID%" /f >nul 2>&1
- REM 6. 在Modern输入法设置中设为默认
- reg add "HKCU\Control Panel\International\User Profile\%TARGET_LANG%" /v "InputMethodOverride" /t REG_SZ /d "en-US" /f >nul 2>&1
- reg add "HKCU\SOFTWARE\Microsoft\Input\Settings\Profiles\0" /v "Selected" /t REG_SZ /d "%TARGET_GUID%" /f >nul 2>&1
- REM 7. 尝试重启输入法进程(如ctfmon.exe)
- echo [步骤4] 尝试重启输入法相关进程...
- taskkill /f /im ctfmon.exe >nul 2>&1
- timeout /t 1 /nobreak >nul
- start ctfmon.exe
复制代码
|
评分
-
查看全部评分
|