作者lenki (天气放晴吧…)
看板Visual_Basic
标题[VB6 ] 回圈读取 Serial port 时 CPU 使用率飙高...
时间Mon Jun 22 00:45:09 2009
大家好,
公司有支 Barcode Reader 是使用 RS232 接头,
因为原厂网页并无提供任何驱动程式与软体。
所以小弟使用 VB6 写了一支用来读取 Barcode Reader 的资料的小工具,
使用回圈持续检查是否有资料,若有则将接收到的值模拟键盘输入……
所有功能都已完成,目前已知的问题是检查接收资料的回圈导至 CPU 使用率升到 80%
回圈大概内容如下:
do while len(str<>"")
....略(处理接收的值 使用 win32api 的 kb_events 模拟键盘事件)
doevents
str=getdata()
loop
若我加入 sleep 去停止时,在操作 Form 好像会卡卡的……
是否有什麽方式可以减小 cpu 使用率的爆走呢?
ps.因为小弟没安装 VB6 的正式版(我用的是 7mb 的免安装版),
所以不是使用 VB 提供 MSCOMM 控件,而是用 win32api 抓值。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.147.138
1F:推 mraaa:你可以找一个正版来安装元件...或者上微软网站下载吧... 06/22 07:19
2F:→ lenki:找到处理方法了,用WaitCommEvent() 处理 06/22 09:00