如何用VB6.0编写程序“后台”记录/处理条码扫描仪扫到的数据?
条码扫描仪扫描的数据就相当于用键盘输入数据,我可以用VB的TextBox记录数据,然后处理。但这个前提是VB程序必须在前台!!,如果不小心VB程序退到后台就读取不到数据了...
条码扫描仪扫描的数据就相当于用键盘输入数据,我可以用VB的TextBox记录数据,然后处理。但这个前提是VB程序必须在前台!!,如果不小心VB程序退到后台就读取不到数据了。
问题是:
有没有办法让VB后台也能处理条码扫描仪扫描到(或者说就是键盘输入)的数据?
或者有没有办法,当VB程序退到后台后,马上又恢复到前台?
麻烦解答,谢谢。
退到后台又恢复到前台的意思是:比如打开“记事本”程序后,记事本程序本来是在前台,但我想让我的VB程序又恢复到前台,让我的TextBox接受输入,而不是记事本。 展开
问题是:
有没有办法让VB后台也能处理条码扫描仪扫描到(或者说就是键盘输入)的数据?
或者有没有办法,当VB程序退到后台后,马上又恢复到前台?
麻烦解答,谢谢。
退到后台又恢复到前台的意思是:比如打开“记事本”程序后,记事本程序本来是在前台,但我想让我的VB程序又恢复到前台,让我的TextBox接受输入,而不是记事本。 展开
2个回答
展开全部
那么麻烦干啥,改用串口不就得了。用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 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
Hook按键不就行了,在后台也能读到
更多追问追答
追问
我查百度也是用hook,能告诉我最简单的代码吗(网上的太复杂了,我都看不下去,能不能不用写dll)?我对API不太熟悉。而且据说VB的全局钩子不太好使,是吗?
另外直接读键盘端口数据行吗?如果行怎么写代码。
追答
给我个邮箱把,我把我正用的Hook模块给你
具体拦截什么样的字符就看你怎么设计了
我们这里用的条码也是经过改动的,就是起始和末尾加着标识符,只Hook到这两个标识符之间的字符
这样就不会干扰前台用户自己的输入了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询