无论窗口(应用程序)是否处于焦点- WPF,计数任何击键
本文关键字:WPF 任何击 焦点 于焦点 窗口 应用程序 是否 | 更新日期: 2023-09-27 18:02:39
我正在构建一个"WPF应用程序",该应用程序将在后台运行(最小化状态),并检测键盘上每个键的按键&每一次鼠标点击
所以,我的问题是如何检测每个按键是否应用程序(窗口)被最小化。
简单地说,如果我的应用处于焦点中,那么我使用这段代码来计算击键次数。
Public int count;
protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)
{
//base.OnKeyDown(e);
count++;
tBlockCount.Text = count.ToString();
}
我只是想做同样的,即使我的应用程序是最小化的。
我搜索了很多,遇到了很多建议,如……
- http://www.pinvoke.net/default.aspx/user32/registerhotkey.html
- http://social.msdn.microsoft.com/forums/vstudio/en us/87d66b1c - 330 c - 42 - fe - 8 a40 - 81 - f82012575c/background热键wpf?forum=wpf
- 在WPF处理过程中检测输入按键
- 检测c#中是否有键被按下(不是A, B,而是any)
大多数都指向注册热键。但是我无法将这个场景与我的相匹配。
欢迎提出任何建议
虽然我不是真的原谅使用键盘记录器(这是你正在尝试做的)。我建议你看一下这篇问答,这篇文章底部的部分,以及这篇文章,从中获得一些灵感。这些应该有助于为编码方面指明正确的方向。
你本质上需要做的就是设置一个事件来拦截从计算机输入的任何密钥,然后你可以收集密钥并对它做任何你喜欢的事情(在你的情况下,记录它)
编辑:事实上,阅读第三篇文章,它实际上给出了如何在WPF中实现和使用它的完整代码片段,所以我建议只阅读那一篇。