截取键盘输入

时间:2015-08-25 19:25:45

标签: c# windows google-translate

我正在努力建立一个自动英语到西班牙语的翻译。

我想要做的是,当有人在键盘上打字时,它取消了他们正在键入的内容,并将其存储在我的C#app中的字符串中。

无论用户类型是什么,都将使用Sendkeys.Send()翻译和重新输入(用西班牙语)。

它需要在应用程序之外工作,因此如果他们使用任何其他应用程序,它将起作用。

我的计划是让他们尝试输入,然后,当他们打字时,它会翻译为西班牙语。

1 个答案:

答案 0 :(得分:2)

我会研究Windows Hooks:https://support.microsoft.com/en-us/kb/318804。这将是拦截应用程序之外的击键的唯一方法。你要做的是使用低级键盘钩接收所有关键信息。对于您不关心的任何击键,您可以调用CallNextHookEx。对于您关心的击键,您将返回虚拟返回(通常为1)。这将使击键不会传播。然后,您将保存该击键的值,并且只要听到空格,您就可以将所需的单词转换为西班牙语。

如果您有任何问题,请随时给我发消息!我曾经广泛使用键盘和鼠标钩。