如何使用c#中的RawInput使用Alt+Numpad
本文关键字:使用 Alt+Numpad RawInput 中的 何使用 | 更新日期: 2023-09-27 18:30:08
我正在编写一个类来使用来自条形码扫描仪的"ALL"输入。我使用的代码来自http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/
我在PreFilterMessage()中添加了以下行进行测试。
if (m.Msg != Win32.WM_INPUT)
{
// Allow any non WM_INPUT message to pass through
return false;
}
return true;
问题在于某些条形码具有"═"(Alt+Numpad:205)。它会在文本框中键入。我如何防止Alt+Numpad键被调度?
我可以通过在表单级别捕获密钥,通过设置表单来处理这个问题
keypreview=true,
并且在form_keypress事件中设置
//if(Alt pressed && numpad keys)
e.Handled = true;
但理想情况下,这应该由类来处理。有什么想法吗??
检查修改键以阻止Alt+Numpad键如何?例如
if (ModifierKeys == Keys.Alt)
return true;