USB扫码枪二维码读取(二)——MFC篇

本文介绍如何在MFC应用中处理USB扫码枪的二维码读取,通过监听键盘消息,特别是在PreTranslateMessage中捕获数据。扫码枪发送的数据包括虚拟码,例如在大写字母前发送的shift键(16),第二功能键组合,以及以13回车键作为结束标志。程序需要处理包括shift键的大小写转换和特殊功能键的解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

USB扫码枪为即插即用,通过类似键盘的方式和系统进行交互,在MFC中进行处理比较方便,对键盘消息进行处理即可。

(1)文本框输入获取焦点,扫描后自动显示在文本框内。

(2)在PreTranslateMessage中对消息进行处理获取扫码数据。

使用第二种方式对接收到的一个个键盘数值的处理。

我的扫码枪设置后扫码的情况举例如下:

(1)在大写字母前发送shift的虚拟码16

(2)第二功能键发送shift加对应的虚拟码

(3)结束发送键盘码为13 40

如:16 187 对应的为键盘的+,ASCII码为43

16 65 对应的为键盘的A ,ASCII码为65

需要处理shift对应的大小写问题,以及第二功能键的特殊处理;

switch(pMsg->message)
	{
	case WM_KEYDOWN:

		vkCode = pMsg->wParam;
		if (vkCode >= 65 && vkCode <= 90)
                vkCode = vkCode + 32;//处理为小写字母


		if (m_chLast == 16)
            {
                if (vkCode >= 48 && vkCode <= 57)
                {
                    if(vkCode==48)
                        vkCode= 41;//)
                    else if (vkCode == 49)
                        vkCode = 33; //!
                    else if (vkCode == 50)
                        vkCod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值