【问题标题】:Ho do I go about getting and setting the input language of another application?如何获取和设置另一个应用程序的输入语言?
【发布时间】:2010-10-23 17:32:55
【问题描述】:

问题出在:我有一位身有残疾的用户使用专门的虚拟键盘。他在虚拟键盘中切换语言没有任何问题,但它并不总是改变当前活动应用程序的输入语言(输入键盘?)——这正是他所需要的。

那么我可以做任何 API 调用来查询窗口的当前输入键盘吗?更重要的是,有没有办法在外部设置另一个窗口的输入语言?

【问题讨论】:

  • 听起来是个有趣的问题,但不清楚(无论如何对我来说)到底是什么问题。您能否更具体地说明“虚拟键盘”是什么?它是软件应用程序、硬件设备还是两者的组合?为什么用户需要切换键盘语言?

标签: windows input keyboard


【解决方案1】:

System.Windows.Forms (.NET) 中有“InputLanguage”类。它允许您设置所需的输入语言。 MSDN InputLanguage 类描述中提供了更多信息。

至于为特定窗口设置语言 - 有一个解决方案:

  1. 您应该创建一个程序来捕获当前选定的窗口并在后台运行它;
  2. 当程序运行时,它会捕获用户当前正在处理的程序的名称并设置所需的语言;

我建议您查看一个示例 - http://www.java2s.com/Tutorial/CSharp/0520__Windows/GetcurrentActiveWindow.htm - 这是您获取当前活动程序信息所需的基础知识。 MSDN 文章中提供了设置输入语言的示例。

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2012-01-31
    • 2018-04-04
    相关资源
    最近更新 更多