移除游戏添加的美式英文键盘

很多 FPS 游戏(如 CS:GO)会在启动的时候添加一个美式英文键盘,但不会在结束游戏的时候卸载这个键盘。

在 Steam 社区找到一个批处理的解决方案,不过需要保存两个额外的 xml 文件在硬盘来调用。

研究了下相关的 API,用汇编做了个简单的小程序。

下载

GitHub | 历史版本

源码使用 BSD 3-Clause 协议授权,可以在 JixunMoe/RemoveUSKeyboardLayout 获取。

启动游戏并移除美式键盘

  • 此处使用的例子是“军团要塞2”。
  • 其他游戏的 Steam APPID 可以从其对应的商店地址找到。

将批处理与编译后的文件放在同一目录:

REM 启动游戏 start steam://rungameid/440 REM 等待游戏启动并添加键盘 timeout /t 5 REM 移除键盘 %~dp0\RemoveUSKeyboardLayout.exe

或,使用 VBScript 脚本启动来隐藏命令行窗口:

Set objShell = CreateObject("Shell.Application") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(Wscript.ScriptFullName) strFolder = objFSO.GetParentFolderName(objFile) ' 启动游戏 objShell.ShellExecute "steam://rungameid/440" ' 等待游戏启动并添加键盘 WScript.Sleep(5000) ' 移除美式键盘 objShell.ShellExecute strFolder & "\RemoveUSKeyboardLayout.exe"

《移除游戏添加的美式英文键盘》有4个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注