【问题标题】:How to capture keystrokes before the foreground window gets it?如何在前台窗口获取之前捕获击键?
【发布时间】:2013-04-27 20:00:51
【问题描述】:

我正在用 C# 编写类似 Google Transliteration(Google 输入工具)工具的应用程序。它会在我们正在输入的任何窗口的顶部显示建议窗口(查找插入符号位置并仅在其下方显示窗口)。但是重点(前台进程)仍然是我们输入的应用程序(例如 Ms Word、记事本等)。

我想实现谷歌音译的这些功能:

  • 它会在其他进程获取之前捕获击键。
  • 重命名文件夹或文件时,我们可以从建议中选择单词 使用向上和向下箭头键显示窗口,然后按回车键。但是 重命名文本字段仍将处于活动状态。击键将是 在到达重命名文本字段之前捕获。

我想实现一个像谷歌音译那样的通用文本建议列表(窗口)。

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

如何在不关注“单词列表”窗口的情况下捕获击键(向上和向下箭头键和回车键)并从单词列表中选择一个选项? (插入符号应保持活动状态并在前台进程文本字段上闪烁。例如,文件夹重命名文本字段)

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

【问题讨论】:

    标签: c# .net visual-studio-2010


    【解决方案1】:

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

    第一个问题的解决方案非常简单 - 如您的链接中所述,除了低级窗口挂钩之外没有其他方法。

    第二个问题比较困难,解决方案可能需要一点实验、创造力和 WinAPI 知识。例如hereherehere

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 1970-01-01
      • 2018-03-03
      • 2011-01-16
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多