【发布时间】:2015-08-28 11:58:37
【问题描述】:
我的环境是 Windows 10 64 位上的 Visual Studio 2013。
在我的 Windows 应用商店应用程序(适用于 Windows 8.1)中,我附加了这样的键盘事件(这是一个 c++/cx 程序,因为我使用的是 C++ 工具包):
auto amv = Windows::ApplicationModel::Core::CoreApplication::MainView;
if (amv){
auto cw = amv->CoreWindow;
if (cw){
cw->KeyDown += ref new TypedEventHandler<CoreWindow ^, KeyEventArgs^>(srt, &WinRTApp::OnKeyDown);
cw->KeyUp += ref new TypedEventHandler<CoreWindow^, KeyEventArgs^>(srt, &WinRTApp::OnKeyUp);
}
}
当我按下日文 (109) 键盘上的 Hankaku 键时。系统使用未定义的 VirtualKey 代码(243)触发 KeyUp 事件,使用代码 244 触发 KeyDown 事件。当我释放该键时,没有触发任何事件。
第二次按下触发KeyUp(244)和KeyDown(243),第二次释放没有触发。
我想准确检测 KeyUp 事件。有什么好的方法吗?
【问题讨论】:
标签: c# c++ windows-runtime windows-store-apps keyboard-events