能见度
使该窗口成为“最热门”窗口。这是任务管理器可以保留在其他窗口之上的方式。这是a的属性,
Form您可以通过将值设置为来使表单最顶部(在其他窗口上方浮动)
true。
您无需使用最顶层的设置覆盖任何“活动窗口”行为。
焦点
我之前在StackOverflow上问过类似的问题,答案可以解决您的问题。您可以使应用程序使用低级输入挂钩,并获取来自扫描仪的键控代码的通知。这样,即使应用程序没有焦点,您的应用程序也总是获得这些键。
您可能需要增强解决方案来压缩键控代码,以使它们不会传输到“焦点对准”的应用程序(例如记事本)。
从Windows 2000开始,没有用户直接干预的正式机制,应用程序就无法抓住焦点。通过RawInputDevices挂钩查看输入流是唯一明智的方法。
许多文章可能会有所帮助(C#实现)
- 关于CodeProject的RawInput文章
- RawInput的MSDN文档



