本文介绍了在 c# (wpf) 中捕获 windows 键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我编写了一个小程序,在按下任何按钮时在屏幕上显示声音和图像.当我的一个小孩爬到我的腿上并开始敲击琴键时,我总是启动它,当然,随机的.

除了 2 个键外,它工作正常,其中一个是 ON/OFF 开关,另一个是 Windows 键.(我相信CTRL-ESC等价物)我可以在按下它时拦截它,但只有在开始菜单显示之后.

我使用的事件是 UIElement.KeyDown,到目前为止我所能想到的是:(e 是 KeyEventArgs)

 if (e.Key == Key.LWin) e.Handled = true;

但恐怕开始窗口已经显示出来了.

我已经有 1 个答案,但很想知道是否有任何 wpf 支持?

我怀疑可能无法对主开关进行编程?否则,也欢迎任何帮助..

解决方案

你需要一个 键盘挂钩.不幸的是,这必须通过 P/Invoke 来完成;托管代码无法做到这一点.

查看 Scott Hanselman 的 Baby Smash!.它托管在 http://www.codeplex.com/babysmashhttps://github.com/shanselman/babysmash

Alternatively, check out ShapeShow on CodeProject, which is similar.

这篇关于在 c# (wpf) 中捕获 windows 键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 22:06