找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 56039|回复: 10

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

[复制链接]
发表于 2016-10-11 10:57:52 | 显示全部楼层 |阅读模式
考虑到用户有默认中文输入法和英文输入法两种情况,choice使用起来会受到阻碍,排版也可能出现问题。
——————————————2016-10-12修改——————————————
怪我表述得不够明白。这个功能我是要给用户用的,所以要考虑兼容的问题,ahk肯定就不行了。改代码页确实可以,但是这样就显示不了中文了。简单来说,我想让用户在打开批处理的时候,自动转换成英文输入法,这样我的排版就不会崩坏,用户也可以不用手动转换输入法。
 楼主| 发表于 2016-10-11 11:00:48 | 显示全部楼层
卧槽!发错区了!有没有大能帮我转个区
发表于 2016-10-11 18:57:53 | 显示全部楼层
  1. cmd /c start "" cmd /k chcp 437
复制代码
发表于 2016-10-11 19:44:59 | 显示全部楼层
忘了,好像是修改输入法为 英语 - 美式键盘 优先/作为默认输入
但是这样的话每次在输入中文的需要用快捷键切换到中文输入法
发表于 2016-10-11 21:44:16 | 显示全部楼层
上 AHK 吧
给你个切换到英文输入法的代码:
DllCall("SendMessage", UInt, WinActive("A"), UInt, 80, UInt, 1, UInt, DllCall("ActivateKeyboardLayout", UInt, 0x08040804, UInt, 256))
发表于 2016-10-11 22:10:17 | 显示全部楼层
修改输入设置吧默认语言改简体中午,或输入法设置半角输入
发表于 2018-7-1 20:54:21 | 显示全部楼层
回复 1# futurer


    搜索类似问题,发现与我想要的效果相同。但现在也还没有解决。不知道楼主解决这个问题了没?如果解决希望可以分享
发表于 2018-7-2 11:13:45 | 显示全部楼层
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技术 +2 收起 理由
zhangzsky + 1 感谢分享,win10 1803 已测试有效
狄钦dQ + 1 Win10 1709亲测有效

查看全部评分

发表于 2018-7-4 00:36:49 | 显示全部楼层
本帖最后由 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
复制代码
发表于 2018-7-4 11:32:56 | 显示全部楼层
回复 9# zhangzsky
安装百度输入法测试,结果无效。

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

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

用新版cmd
  1. reg add HKCU\Console  /v ForceV2 /t REG_DWORD /d 1 /f
复制代码
发表于 2024-11-15 20:18:31 | 显示全部楼层
同样的问题,求解!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 16:06 , Processed in 0.021340 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表