![让 Windows XP 使用全局输入语言而不是每个应用程序都使用](https://linux22.com/image/1298915/%E8%AE%A9%20Windows%20XP%20%E4%BD%BF%E7%94%A8%E5%85%A8%E5%B1%80%E8%BE%93%E5%85%A5%E8%AF%AD%E8%A8%80%E8%80%8C%E4%B8%8D%E6%98%AF%E6%AF%8F%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E9%83%BD%E4%BD%BF%E7%94%A8.png)
我在 XP 机器上使用 2 种,有时 3 种不同的语言。
Windows XP 根据每个应用程序选择输入语言。也就是说,当我切换到其他应用程序时,Windows 有时会更改输入语言,因为它会记住我上次使用该应用程序时使用了该语言。
我不喜欢这样。我希望 Windows 保持一种全局输入语言,并且只有当我按下 Alt-Shift 时才更改它。
是否有可能破解 Windows 并使其具有这样的行为?也许使用 AutoHotKey?
答案1
我认为唯一可行的方法是一次只安装一种键盘布局。例如,当您只想使用罗马尼亚语时,您将删除所有其他键盘布局...
AutoHotKey 可用于创建快捷方式以快速删除和安装键盘布局。
如果您对我的回答还有其他问题或疑虑,请发表评论。
答案2
以下是我大约一年来一直使用的 AHK 脚本:
language := 0
;;; Forced Hebrew: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;
#z::
language := 0
Return
+#z::
language := 1
Return
#if language=1 and not GetKeyState("Capslock", "T")
`:: SendInput {;}
q:: SendInput /
w:: SendInput '
e:: SendInput ק
r:: SendInput ר
t:: SendInput א
y:: SendInput ט
u:: SendInput ו
i:: SendInput ן
o:: SendInput ם
p:: SendInput פ
a:: SendInput ש
s:: SendInput ד
d:: SendInput ג
f:: SendInput כ
g:: SendInput ע
h:: SendInput י
j:: SendInput ח
k:: SendInput ל
l:: SendInput ך
`;:: SendInput ף
':: SendInput `,
z:: SendInput ז
x:: SendInput ס
c:: SendInput ב
v:: SendInput ה
b:: SendInput נ
n:: SendInput מ
m:: SendInput צ
,:: SendInput ת
.:: SendInput ץ
/:: SendInput .
(:: SendInput )
):: SendInput (
[:: SendInput ]
]:: SendInput [
>:: SendInput <
<:: SendInput >
#if
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;