2013-04-27 109 views
3

我正在做一个应用程序,如Google Transliteration(Google输入工具)工具C#。它在我们正在输入的任何窗口顶部上显示建议窗口(发现插入点位置&仅显示窗口下方的窗口)。但重点(前台进程)仍然在我们输入的应用程序中(例如Ms Word,Notepad等)。如何在前景窗口获取之前捕获击键?

我想要实现谷歌音译的这些特点:

  • 它捕获击键另一个进程得到它之前。
  • 虽然重命名文件夹或文件,我们可以选择从建议的话 窗口显示使用了&向下箭头键,然后按回车键。但 重命名文本字段将仍然有效。在达到重命名文本字段之前捕获的键击将为 。

Google Input Tools (while renaming a folder...

我想实现一个通用的文本建议名单(窗口)一样,谷歌音译的。

如何在另一个进程获取它之前捕获键击(阻止前台进程获取它)? (主要问题)

如何捕获击键(向下箭头键和输入键向上&),并从单词列表中选择一个选项,而不关注'单词列表'窗口? (插页应保持活动并在前景处理文本字段上闪烁,例如文件夹重命名文本字段)

有人请帮我解决这个问题。 我已经找到this one,但它没有帮助我解决我的问题。 Capturing keystrokes without focus

回答

1

你混合两个不同的问题。第一个问题 - 捕捉键盘输入 - 与第二个问题无关 - 做一个不可聚焦的窗口。

解决的第一个问题很简单 - 在你的链接说,有没有其他办法做到这一点比低级别的Windows钩子等。

第二个问题是比较困难的,该解决方案可能需要WinAPI的的一个小实验,创造性和知识。例子是here,herehere