C# 如何限制windows窗体文本框仅从USB条形码扫描仪读取输入?

C# 如何限制windows窗体文本框仅从USB条形码扫描仪读取输入?,c#,time-limiting,C#,Time Limiting,我正在开发一个应用程序,用户需要从条形码扫描仪获取输入。 它是一种usb类型,可以在几秒钟内扫描并返回数据 我试图通过许多技术来停止从键盘上获取输入 使我的文本框只读,但无法从读卡器获取输入 管理按键事件,但条形码阅读器实际上充当键盘,因此我无法获得所需的输出 我需要知道有没有办法限制用户在windows窗体的文本框中提供输入的特定时间,或者限制用户仅从特定端口提供输入 我使用code128symbology生成条形码。相关: 关于CodeProject的相关文章: 关于MSDN的文章: 这看起

我正在开发一个应用程序,用户需要从条形码扫描仪获取输入。 它是一种usb类型,可以在几秒钟内扫描并返回数据

我试图通过许多技术来停止从键盘上获取输入

使我的文本框只读,但无法从读卡器获取输入

管理按键事件,但条形码阅读器实际上充当键盘,因此我无法获得所需的输出

我需要知道有没有办法限制用户在windows窗体的文本框中提供输入的特定时间,或者限制用户仅从特定端口提供输入

我使用code
128symbology
生成条形码。

相关:

关于CodeProject的相关文章:

关于MSDN的文章:

这看起来像是一个可能的重复,但我将在这里总结以避免链接损坏:

由于您指出您的条形码扫描仪是一个USB设备,其行为类似于HID键盘,并且您希望您的程序的文本框只接受来自这一特定设备的输入,因此您可以使用HID
Raw input
技术。但是,这需要处理来自设备的原始HID报告

在初始化过程中,软件从具有特定顶层采集(TLC)的HID输入设备注册原始输入

使用
GetRawInputDeviceList
枚举可用的原始输入设备,并使用
GetRawInputDeviceInfo
查找每个设备的名称。在名称字符串中,您应该能够匹配USB VID/PID值,以便您可以识别击键消息是否来自条形码扫描仪。确保保存此枚举发现的匹配设备句柄
hDevice

通过
GetMessage
GetRawInputData
扩展windowproc以处理
WM\u INPUT
消息,并通过将原始输入句柄与条形码扫描仪先前确定的设备句柄相匹配,从标准键盘过滤出消息。

相关:

关于CodeProject的相关文章:

关于MSDN的文章:

这看起来像是一个可能的重复,但我将在这里总结以避免链接损坏:

由于您指出您的条形码扫描仪是一个USB设备,其行为类似于HID键盘,并且您希望您的程序的文本框只接受来自这一特定设备的输入,因此您可以使用HID
Raw input
技术。但是,这需要处理来自设备的原始HID报告

在初始化过程中,软件从具有特定顶层采集(TLC)的HID输入设备注册原始输入

使用
GetRawInputDeviceList
枚举可用的原始输入设备,并使用
GetRawInputDeviceInfo
查找每个设备的名称。在名称字符串中,您应该能够匹配USB VID/PID值,以便您可以识别击键消息是否来自条形码扫描仪。确保保存此枚举发现的匹配设备句柄
hDevice

通过
GetMessage
GetRawInputData
扩展windowproc以处理
WM\u INPUT
消息,并通过将原始输入句柄与条形码扫描仪先前确定的设备句柄相匹配,从标准键盘过滤出消息。

相关:

关于CodeProject的相关文章:

关于MSDN的文章:

这看起来像是一个可能的重复,但我将在这里总结以避免链接损坏:

由于您指出您的条形码扫描仪是一个USB设备,其行为类似于HID键盘,并且您希望您的程序的文本框只接受来自这一特定设备的输入,因此您可以使用HID
Raw input
技术。但是,这需要处理来自设备的原始HID报告

在初始化过程中,软件从具有特定顶层采集(TLC)的HID输入设备注册原始输入

使用
GetRawInputDeviceList
枚举可用的原始输入设备,并使用
GetRawInputDeviceInfo
查找每个设备的名称。在名称字符串中,您应该能够匹配USB VID/PID值,以便您可以识别击键消息是否来自条形码扫描仪。确保保存此枚举发现的匹配设备句柄
hDevice

通过
GetMessage
GetRawInputData
扩展windowproc以处理
WM\u INPUT
消息,并通过将原始输入句柄与条形码扫描仪先前确定的设备句柄相匹配,从标准键盘过滤出消息。

相关:

关于CodeProject的相关文章:

关于MSDN的文章:

这看起来像是一个可能的重复,但我将在这里总结以避免链接损坏:

由于您指出您的条形码扫描仪是一个USB设备,其行为类似于HID键盘,并且您希望您的程序的文本框只接受来自这一特定设备的输入,因此您可以使用HID
Raw input
技术。但是,这需要处理来自设备的原始HID报告

在初始化过程中,软件从具有特定顶层采集(TLC)的HID输入设备注册原始输入

使用
GetRawInputDeviceList
枚举可用的原始输入设备,并使用
GetRawInputDeviceInfo
查找每个设备的名称。在名称字符串中,您应该能够匹配USB VID/PID值,以便您可以识别击键消息是否来自条形码扫描仪。确保保存此枚举发现的匹配设备句柄
hDevice

通过
GetMessage
GetRawInputData
扩展windowproc以处理
WM\u输入
消息,并通过匹配ra从标准键盘过滤消息