首先是一些背景信息...
我有一个在平板电脑上运行的 C# .NET 应用程序,即没有物理键盘。我们正在使用 Windows XP Tablet 版本中内置的屏幕键盘来填充表单上的 TextBox 控件。表单没有特殊的按键处理(尽管 UI 的其他组件确实处理按键)。
有时,屏幕键盘会停止记录某些按键。表单仍具有焦点,光标仍保留在文本框中。反复敲击一个键最终会导致字符显示。我们的应用程序使用了许多繁忙的处理线程,但它远未达到 100% 的 CPU 利用率。
当这种行为发生时,它会一直保持这种状态,直到我们的应用程序重新启动,之后键盘才能正常运行。当连接 USB 键盘并用于输入时,根本不会出现此问题。
我对物理按键和程序按键之间有什么区别感兴趣?编程按键是否会像物理键盘一样产生硬件中断?.NET 可以不同地处理每种类型吗?
任何可以帮助调试问题的建议将不胜感激!