我可以通过 Win 7 中的批处理文件打开/关闭 Caps 吗?

我可以通过 Win 7 中的批处理文件打开/关闭 Caps 吗?

我有一个非常老的程序,需要命令全部大写。当我退出这个程序时,我经常忘记关闭 Caps Lock(非常烦人)。我在 XP 中有一个批处理程序可以做到这一点,但在 Win 7 中找不到办法做到这一点。

答案1

我从 cmd.exe 了解的唯一方法是通过生成 powershell 或 vbs。

将其放在批处理末尾,可切换 CAPSLOCK

start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')"

通过命令行调用 powershell 并调用 sendkeys,另一种方法是将类似的命令回显到 %temp% 文件中,然后wscript %temp%\my.vbs

编辑:这是 IF 语句,以确保它只关闭大写锁定

start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "IF ([console]::CapsLock -eq 'True'){$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')}"

答案2

使用JP Software 的 TCC/LE,当然可以运行批处理脚本,就像内置的一样简单KEYBD命令。因此,您使用 TCC/LE 运行的包装器脚本将是:

@echo off
:: Force CAPS LOCK on beforehand.
keybd /c1
call very-old-program
:: Force CAPS LOCK off afterwards.
keybd /c0

答案3

您可以使用此页面中的一个非常小的程序http://www.rjlsoftware.com/software/utility/capslock/ 它是免费的,对我来说很好用。只需在 cmd 中使用“capslock on”或“capslock off”即可。

相关内容