如何用VB6.0编写程序“后台”记录/处理条码扫描仪扫到的数据?

条码扫描仪扫描的数据就相当于用键盘输入数据,我可以用VB的TextBox记录数据,然后处理。但这个前提是VB程序必须在前台!!,如果不小心VB程序退到后台就读取不到数据了... 条码扫描仪扫描的数据就相当于用键盘输入数据,我可以用VB的TextBox记录数据,然后处理。但这个前提是VB程序必须在前台!!,如果不小心VB程序退到后台就读取不到数据了。

问题是:
有没有办法让VB后台也能处理条码扫描仪扫描到(或者说就是键盘输入)的数据?
或者有没有办法,当VB程序退到后台后,马上又恢复到前台?

麻烦解答,谢谢。
退到后台又恢复到前台的意思是:比如打开“记事本”程序后,记事本程序本来是在前台,但我想让我的VB程序又恢复到前台,让我的TextBox接受输入,而不是记事本。
展开
 我来答
郑州条码收款机
2013-06-15 · TA获得超过1581个赞
知道小有建树答主
回答量:1633
采纳率:0%
帮助的人:920万
展开全部
那么麻烦干啥,改用串口不就得了。用API串口接收数据,
至于怎么显示数据,怎么前台后台显示,还不是你想怎么开发怎么做??
追问
这个当然好了。不过你是说扫描仪自带串口dll,还是用VB编程接收串口数据呢?如果是后者,怎么编程,能给个示例吗?谢谢。
追答
串口 API 是windows 的东西,你要是搞编程的不会不知道吧,
MSDN上说的很清楚,网上N多DEMO ,呵呵,
我没有,因为我是 C/C++ 的,不会VB。

HANDLE m_hComm=CreateFile("COM1",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);

int CPrintLabel::ReadData(HANDLE m_hComm)
{
BYTE cmd[2],c[2];//void* wbuf;
DWORD dwBytesRead;
dwBytesRead=1;
int i=0;

BOOL bReadStatus;
while((cmd!=c) && (i<10))
{
bReadStatus = ReadFile( m_hComm, cmd,
dwBytesRead, &dwBytesRead, NULL);

bReadStatus = ReadFile( m_hComm, c,
dwBytesRead, &dwBytesRead, NULL);

i++;
}

///////////////最后不要忘记关闭串口。CloseFile(m_hComm)

这东西没什么难度,自己弄个串口设备,自己试试就出来了。
别指望人家帮你做,呵呵,没人天天闲着没事干。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
成尊己h
2013-06-15 · 超过11用户采纳过TA的回答
知道答主
回答量:27
采纳率:83%
帮助的人:16.9万
展开全部
Hook按键不就行了,在后台也能读到
更多追问追答
追问
我查百度也是用hook,能告诉我最简单的代码吗(网上的太复杂了,我都看不下去,能不能不用写dll)?我对API不太熟悉。而且据说VB的全局钩子不太好使,是吗?
另外直接读键盘端口数据行吗?如果行怎么写代码。
追答
给我个邮箱把,我把我正用的Hook模块给你
具体拦截什么样的字符就看你怎么设计了

我们这里用的条码也是经过改动的,就是起始和末尾加着标识符,只Hook到这两个标识符之间的字符
这样就不会干扰前台用户自己的输入了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式