我通常在输入 qwerty 和 dvorak 之间切换,Windows 中最大的不便之一是,虽然有一个热键可以在输入语言之间切换,但它只会更改具有焦点的窗口的输入语言。
我想创建一个脚本来为我更改输入语言,并在我按下热键时运行脚本。我一直在尝试不同的方法来做到这一点。我需要这个的原因是因为我喜欢在工作中一直输入 dvorak,但不能将系统默认设置为 dvorak,以防其他人需要使用我的系统。脚本完成后,我可以将其上传以供所有人下载和使用。
我在网上找到的一种解决方案是使用 SystemParametersInfo 函数。但是,我无法从 MSDN 库中找到足够的文档来使其正常工作。在阅读了其他无法使此功能正常工作的其他人的帖子后,我停止了搜索,其中一些人说它需要重新启动系统。
编辑 - 继续尝试失败,因为似乎此方法仅适用于当前窗口(虽然我能够更改输入语言,但它似乎没有任何效果)。
我发现的另一个(稍微有希望的)解决方案是设置 InputLanguage.CurrentInputLanguage。然而,关于它的设置用法的文档很少(更多只是为了获取)。我为此找到的在线指南讨论了使用 InputLanguage.FromCulture() 设置语言。即InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("ZH-CN"));
,但是 US-Dvorak 似乎不在支持的文化列表中。
有没有人有任何想法?谢谢!