[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 如何实现打开cmd窗口自动切换到英文输入法

考虑到用户有默认中文输入法和英文输入法两种情况,choice使用起来会受到阻碍,排版也可能出现问题。
——————————————2016-10-12修改——————————————
怪我表述得不够明白。这个功能我是要给用户用的,所以要考虑兼容的问题,ahk肯定就不行了。改代码页确实可以,但是这样就显示不了中文了。简单来说,我想让用户在打开批处理的时候,自动转换成英文输入法,这样我的排版就不会崩坏,用户也可以不用手动转换输入法。
卖情怀的人

卧槽!发错区了!有没有大能帮我转个区
卖情怀的人

TOP

  1. cmd /c start "" cmd /k chcp 437
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

忘了,好像是修改输入法为 英语 - 美式键盘 优先/作为默认输入
但是这样的话每次在输入中文的需要用快捷键切换到中文输入法

TOP

上 AHK 吧
给你个切换到英文输入法的代码:
DllCall("SendMessage", UInt, WinActive("A"), UInt, 80, UInt, 1, UInt, DllCall("ActivateKeyboardLayout", UInt, 0x08040804, UInt, 256))

TOP

修改输入设置吧默认语言改简体中午,或输入法设置半角输入
判定一个人是否为伸手党的标准是取决于他的态度和诚意。

TOP

回复 1# futurer


    搜索类似问题,发现与我想要的效果相同。但现在也还没有解决。不知道楼主解决这个问题了没?如果解决希望可以分享

TOP

Win10適用
  1. ::簡體中文
  2. ::選擇IME默認模式:英語
  3. reg add HKCU\Software\Microsoft\InputMethod\Settings\CHS /v "Default Mode" /t REG_DWORD /d 1 /f
  4. ::繁體中文。沒錯,是REG_SZ
  5. ::預設輸入模式:英數字元
  6. ::reg add HKCU\Software\Microsoft\IME\15.0\IMETC /v "Default Input Mode" /t REG_SZ /d "0x00000001" /f
  7. ::Win10 → 設定 → 時間與語言 → 地區與語言 → 進階鍵盤設定
  8. ::讓我針對每個應用程式視窗使用不同的輸入法
  9. ::let me set a different input method for each app window
  10. powershell -c "Set-WinLanguageBarOption -UseLegacySwitchMode"
  11. ::如果沒有參數,即使用預設值
  12. ::powershell -c "Set-WinLanguageBarOption"
复制代码
2

评分人数

    • zhangzsky: 感谢分享,win10 1803 已测试有效技术 + 1
    • 狄钦dQ: Win10 1709亲测有效技术 + 1

TOP

本帖最后由 zhangzsky 于 2018-7-4 01:05 编辑

回复 8# nwm310


    安装百度输入法测试,结果无效。
主要目的就是禁掉CMD窗口内左下角的输入法,以免影响排版

下面是自己的小游戏中截出来的解决办法,逻辑比较乱,希望大神指点一下
  1. @echo off
  2. if "%1"=="" goto lnitfont
  3. cd. >lnit.tmp
  4. chcp 936||exit
  5. cd %~dp0
  6. cls
  7. goto lnitdone
  8. :lnitfont
  9. for /f "tokens=2*" %%i in (
  10. 'reg query HKEY_CURRENT_USER\Console^|findstr CodePage'
  11. ) do (
  12. set CodePage=%%j
  13. )
  14. echo.yes|reg add HKEY_CURRENT_USER\Console /v CodePage /t REG_DWORD /d 0x000001b5 >nul 2>nul
  15. start "" %0 lnit
  16. :restlnit
  17. if not exist lnit.tmp goto restlnit
  18. del /s /q lnit.tmp >nul 2>nul
  19. echo.yes|reg add HKEY_CURRENT_USER\Console /v CodePage /t REG_DWORD /d %CodePage% >nul 2>nul
  20. exit
  21. :lnitdone
  22. echo 输入法提示文字还在吗?
  23. pause>nul
复制代码

TOP

回复 9# zhangzsky
安装百度输入法测试,结果无效。

高级设置--常用--初始状态--设置默认为英文模式。

禁掉CMD窗口内左下角的输入法

用新版cmd
  1. reg add HKCU\Console  /v ForceV2 /t REG_DWORD /d 1 /f
复制代码

TOP

返回列表