找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6042|回复: 37

[已解决] 【已解决】求输入法切换到ENG的代码(bat、vbs、wcs、ahk)都行。谢谢

  [复制链接]
发表于 2025-2-21 14:13:22 | 显示全部楼层 |阅读模式
本帖最后由 yyz2191958 于 2025-2-24 09:11 编辑

完美解决了:
输入法切换ENG(英文).ahk:
; AHK 切换输入法为 ENG(英文)
PostMessage, 0x50, 0, 0x0409, , A ; 0x0409 是 ENG 的语言 ID

======================================
输入法切换到中文(简体).ahk:
; AHK 切换为中文(简体)
PostMessage, 0x50, 0, 0x0804, , A ; 0x0804 是 中文(简体) ID

==========================================================
原来的问题:
输入法切换到ENG的代码(bat、vbs、wcs、ahk)都行。谢谢
【需求(PE 环境中 使用)无论当前是输入法是什么,运行代码以后,都切换到ENG(英文)

(强迫症哦,哈哈)
1.png
谢谢






切换英文.exe.rar

197.23 KB, 下载次数: 74, 下载积分: 无忧币 -2

切换到中文.exe.rar

197.24 KB, 下载次数: 24, 下载积分: 无忧币 -2

发表于 2025-2-21 14:30:34 | 显示全部楼层
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000804"
"2"="e0010804"

[HKEY_CURRENT_USER\Keyboard Layout\Substitutes]
"00000804"="00000409"

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]

点评

没有效果也谢谢  详情 回复 发表于 2025-2-21 16:44

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 2025-2-21 14:31:20 | 显示全部楼层
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout]

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="d0000804"
"2"="00000804"
"3"="00000804"
"4"="00000804"

[HKEY_CURRENT_USER\Keyboard Layout\Substitutes]
"d0000804"="00000409"

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]

回复

使用道具 举报

发表于 2025-2-21 14:47:40 | 显示全部楼层
本帖最后由 martin313 于 2025-2-21 15:47 编辑

以下是一个通过批处理调用 PowerShell 实现切换到 ENG 输入法的解决方案:

@echo off
powershell -Command "$sig = '[DllImport(\"user32.dll\")] public static extern IntPtr GetForegroundWindow(); [DllImport(\"user32.dll\")] public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImport(\"user32.dll\")] public static extern IntPtr LoadKeyboardLayout(string pwszKLID, uint flags);'; Add-Type -MemberDefinition $sig -Name Keyboard -Namespace API; $hkl = [API.Keyboard]::LoadKeyboardLayout('00000409', 1); $hWnd = [API.Keyboard]::GetForegroundWindow(); [API.Keyboard]::PostMessage($hWnd, 0x50, 1, $hkl.ToInt32()); Start-Sleep -Milliseconds 200"

代码说明:
使用 PostMessage API 向当前窗口发送 WM_INPUTLANGCHANGEREQUEST 消息(0x50)
参数 0x0409 对应美式英语键盘布局(0409:00000409)
兼容 Windows 7 及以上系统,无需管理员权限

使用方法:
将代码保存为 SwitchToENG.bat
双击运行即可立即切换至 ENG 输入法

注意事项:
需确保 PowerShell 可正常使用(默认已启用)
若系统从未运行过 PowerShell 脚本,首次执行可能会有短暂延迟
切换效果对当前活动窗口立即生效

点评

PE 环境 没有PowerShell 谢谢  详情 回复 发表于 2025-2-21 16:38

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2025-2-21 16:38:47 | 显示全部楼层
martin313 发表于 2025-2-21 14:47
以下是一个通过批处理调用 PowerShell 实现切换到 ENG 输入法的解决方案:

@echo off

PE 环境 没有PowerShell  谢谢

点评

可以有  详情 回复 发表于 2025-2-22 09:43
回复

使用道具 举报

 楼主| 发表于 2025-2-21 16:44:11 | 显示全部楼层
aceainarj 发表于 2025-2-21 14:30
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Preload]

没有效果也谢谢
回复

使用道具 举报

发表于 2025-2-21 17:21:07 | 显示全部楼层
纯VBScript无法完成楼主的要求

点评

谢谢 解答  详情 回复 发表于 2025-2-21 17:24
回复

使用道具 举报

 楼主| 发表于 2025-2-21 17:24:05 | 显示全部楼层
martin313 发表于 2025-2-21 17:21
纯VBScript无法完成楼主的要求

谢谢 解答
回复

使用道具 举报

发表于 2025-2-21 17:24:33 | 显示全部楼层
晕就一个注册表,自己不会找找吗。

点评

你没有看明白我的意思哦  详情 回复 发表于 2025-2-21 17:25
回复

使用道具 举报

 楼主| 发表于 2025-2-21 17:25:29 | 显示全部楼层
忧心的启 发表于 2025-2-21 17:24
晕就一个注册表,自己不会找找吗。

你没有看明白我的意思哦

点评

纯Lua原生环境无法直接调用Windows API(如LoadKeyboardLayout, PostMessage等),因其设计定位为轻量级脚本语言,不包含操作系统级交互功能。要实现输入法切换,必须借助依赖系统工具(如PowerShell)  详情 回复 发表于 2025-2-21 18:16
回复

使用道具 举报

发表于 2025-2-21 17:40:26 | 显示全部楼层
本帖最后由 holley2008 于 2025-2-21 17:44 编辑
  1. ; AHK 切换输入法为 ENG(英文)
  2. PostMessage, 0x50, 0, 0x0409, , A ; 0x0409 是 ENG 的语言 ID
复制代码
  1. // WCS 切换输入法为 ENG
  2. var shell = new ActiveXObject("WScript.Shell");
  3. shell.SendKeys("^{SPACE}");
复制代码

确认一下你的PE 中ENG的语言ID是不是0409

点评

怎样查看 “搜狗拼音输入法” 的语言ID?谢谢  详情 回复 发表于 2025-3-6 21:07
AHK 切换输入法为 ENG(英文)————————成功 再次感谢  详情 回复 发表于 2025-2-21 17:52
我试一试先 谢谢  详情 回复 发表于 2025-2-21 17:48

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2025-2-21 17:48:18 | 显示全部楼层
holley2008 发表于 2025-2-21 17:40
确认一下你的PE 中ENG的语言ID是不是0409

我试一试先 谢谢
回复

使用道具 举报

发表于 2025-2-21 17:50:14 | 显示全部楼层
同示 在线蹲一个 批处理的解决方案
回复

使用道具 举报

 楼主| 发表于 2025-2-21 17:52:47 | 显示全部楼层
本帖最后由 yyz2191958 于 2025-2-21 17:53 编辑
holley2008 发表于 2025-2-21 17:40
确认一下你的PE 中ENG的语言ID是不是0409

AHK 切换输入法为 ENG(英文)————————成功
(WCS 切换输入法为 ENG————不成功)
再次感谢
回复

使用道具 举报

发表于 2025-2-21 18:16:36 | 显示全部楼层
yyz2191958 发表于 2025-2-21 17:25
你没有看明白我的意思哦
Lua 代码也无法实现

纯Lua原生环境无法直接调用Windows API(如LoadKeyboardLayout, PostMessage等),因其设计定位为轻量级脚本语言,不包含操作系统级交互功能。要实现输入法切换,必须借助依赖系统工具(如PowerShell)
回复

使用道具 举报

发表于 2025-2-21 19:08:54 | 显示全部楼层
也算是一个创意

点评

强迫症的问题解决了 我很满意  详情 回复 发表于 2025-2-21 19:14
回复

使用道具 举报

 楼主| 发表于 2025-2-21 19:14:21 | 显示全部楼层
fjun67 发表于 2025-2-21 19:08
也算是一个创意

强迫症的问题解决了   我很满意

点评

按下 F1 切换为英文,按下 F2 切换为中文。 ; 切换为英文 F1:: PostMessage, 0x50, 0, 0x0409, , A return ; 切换为中文(简体) F2:: PostMessage, 0x50, 0, 0x0804, , A return  详情 回复 发表于 2025-2-22 09:23
呵呵,那就好  详情 回复 发表于 2025-2-21 20:59
回复

使用道具 举报

发表于 2025-2-21 20:59:17 | 显示全部楼层
学习一下,谢谢楼主分享
回复

使用道具 举报

发表于 2025-2-21 20:59:53 | 显示全部楼层
yyz2191958 发表于 2025-2-21 19:14
强迫症的问题解决了   我很满意

呵呵,那就好
回复

使用道具 举报

发表于 2025-2-21 22:01:51 | 显示全部楼层
以前我也遇到在软件界面输入用户名时有中文的情况,没找到办法,最终使用了粘贴大法才解决了。
回复

使用道具 举报

发表于 2025-2-21 22:18:41 | 显示全部楼层
感谢分享好东东
回复

使用道具 举报

发表于 2025-2-22 01:17:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2025-2-22 09:23:01 | 显示全部楼层
yyz2191958 发表于 2025-2-21 19:14
强迫症的问题解决了   我很满意


按下 F1 切换为英文,按下 F2 切换为中文。

; 切换为英文
F1::
    PostMessage, 0x50, 0, 0x0409, , A
    return

; 切换为中文(简体)
F2::
    PostMessage, 0x50, 0, 0x0804, , A
    return

点评

确实可行 非常感谢  详情 回复 发表于 2025-2-22 09:37
不错 谢谢  详情 回复 发表于 2025-2-22 09:32

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2025-2-22 09:32:12 | 显示全部楼层
martin313 发表于 2025-2-22 09:23
按下 F1 切换为英文,按下 F2 切换为中文。

; 切换为英文

不错 谢谢
回复

使用道具 举报

 楼主| 发表于 2025-2-22 09:37:52 | 显示全部楼层
martin313 发表于 2025-2-22 09:23
按下 F1 切换为英文,按下 F2 切换为中文。

; 切换为英文

确实可行  非常感谢
回复

使用道具 举报

发表于 2025-2-22 09:43:57 来自手机 | 显示全部楼层
yyz2191958 发表于 2025-2-21 16:38
PE 环境 没有PowerShell  谢谢

可以有
回复

使用道具 举报

发表于 2025-2-22 11:58:22 | 显示全部楼层
来学习一下
回复

使用道具 举报

发表于 2025-2-22 12:15:42 | 显示全部楼层
原来如此,感谢分享
回复

使用道具 举报

发表于 2025-2-22 14:36:22 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

发表于 2025-2-22 16:33:18 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-5-28 07:06

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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