0

我通常在输入 qwerty 和 dvorak 之间切换,Windows 中最大的不便之一是,虽然有一个热键可以在输入语言之间切换,但它只会更改具有焦点的窗口的输入语言。

我想创建一个脚本来为我更改输入语言,并在我按下热键时运行脚本。我一直在尝试不同的方法来做到这一点。我需要这个的原因是因为我喜欢在工作中一直输入 dvorak,但不能将系统默认设置为 dvorak,以防其他人需要使用我的系统。脚本完成后,我可以将其上传以供所有人下载和使用。

我在网上找到的一种解决方案是使用 SystemParametersInfo 函数。但是,我无法从 MSDN 库中找到足够的文档来使其正常工作。在阅读了其他无法使此功能正常工作的其他人的帖子后,我停止了搜索,其中一些人说它需要重新启动系统。

编辑 - 继续尝试失败,因为似乎此方法仅适用于当前窗口(虽然我能够更改输入语言,但它似乎没有任何效果)。

我发现的另一个(稍微有希望的)解决方案是设置 InputLanguage.CurrentInputLanguage。然而,关于它的设置用法的文档很少(更多只是为了获取)。我为此找到的在线指南讨论了使用 InputLanguage.FromCulture() 设置语言。即InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("ZH-CN"));,但是 US-Dvorak 似乎不在支持的文化列表中。

有没有人有任何想法?谢谢!

4

1 回答 1

0

我发现这个程序:效果很好,并且提供了源代码。在尝试开发其他程序以“修复”Windows 糟糕的功能时,我可能会将其用作资源。

下载:http ://www.tomseddon.plus.com/kbswitch/

如果您使用的是 Windows 7,您可以将其拖出屏幕右下角的“弹出框”,以便图标位于系统时间附近的任务栏中。我没有尝试重新启动,我将程序放在启动文件夹中,所以它应该可以工作。

于 2012-04-25T03:13:34.923 回答