最小化时捕获条码扫描

Capture barcode scan when minimized

我正在处理用作键盘仿真的条形码扫描仪。 我打印带有自定义标题字符(管道)的条形码标签。 在我的主窗体中,我监听按键事件,一旦我看到自定义 header 字符,我就开始接收扫描,然后开始我的工作。

如果我的应用程序获得焦点,此方法非常有效,但如果应用程序最小化或未获得焦点,则此方法无能为力。

我尝试设置键盘热键。它部分有效:我的应用程序专注于第一个字符,但速度不够快,无法捕获从扫描仪快速吐出的后续字符。

知道如何在应用程序未聚焦的情况下捕获这些击键吗? 显然,如果检测到标题字符 ID,则必须抑制后续字符,直到使用 vbcr 完成序列或达到超时。

请注意,扫描器会在不到十分之一秒的时间内吐出 15 个字符的序列

这就是 Windows 的工作方式,只有活动的应用程序才会处理键盘输入。因此,当您的应用程序最小化时,它不会接收或处理任何键盘输入。

正如 Bradley Uffner 评论的那样,您需要一个全局键盘处理程序,我过去使用过它并且效果很好。基本上是一个系统范围的监听器,即使在最小化时也能处理键盘输入。