110,539
社区成员
发帖
与我相关
我的任务
分享
DateTime? lastScanTime = null;
protected override void WndProc(ref Message msg)
{
try
{
if (lastScanTime == null)
{
lastScanTime = DateTime.Now;
}
else
{
TimeSpan span = DateTime.Now - lastScanTime.Value;
if (span.Seconds < 10)
return;
}
if (msg.Msg == WM_SCANCODE_ENGINE_NOTIFY) // BarCode的自定义消息通知
{
uint nDataLen = 0; //= (int)msg.WParam;
uint nBarCodeType = 0;// = (uint)msg.LParam;
byte[] BarCodeData;
barcode.GetBarCodeReaderRes(ref nBarCodeType, ref nDataLen, null);
if (nDataLen > 0)
{
string mess = "正在处理";
BarCodeData = new byte[nDataLen];
barcode.GetBarCodeReaderRes(ref nBarCodeType, ref nDataLen, BarCodeData);
string str1 = Encoding.Default.GetString(BarCodeData, 0, (int)nDataLen);
this._BaseForm.DecodeText(ref mess);
this._BaseForm.GetTick(str1, 1);
barcode.DoBeep(1, 50, 80);
}
if (_BaseForm.PrintMessage != "" && _BaseForm.isScan)
{
int ct = barcode.DoPrint(_BaseForm.PrintMessage, "宋体", 30, 100);
}
}
else
{
base.WndProc(ref msg);
}
}
catch (Exception ex)
{
}
}
DateTime nextScanTime = DateTime.MinValue;
protected override void WndProc(ref Message msg)
{
try
{
if (msg.Msg == WM_SCANCODE_ENGINE_NOTIFY && DateTime.Now>nextScanTime) // BarCode的自定义消息通知
{
nextScanTime = DateTime.Now.AddSeconds(10); //<===这增加10秒
uint nDataLen = 0; //= (int)msg.WParam;
uint nBarCodeType = 0;// = (uint)msg.LParam;
byte[] BarCodeData;
barcode.GetBarCodeReaderRes(ref nBarCodeType, ref nDataLen, null);
if (nDataLen > 0)
{
string mess = "正在处理";
BarCodeData = new byte[nDataLen];
barcode.GetBarCodeReaderRes(ref nBarCodeType, ref nDataLen, BarCodeData);
string str1 = Encoding.Default.GetString(BarCodeData, 0, (int)nDataLen);
this._BaseForm.DecodeText(ref mess);
this._BaseForm.GetTick(str1, 1);
barcode.DoBeep(1, 50, 80);
}
if (_BaseForm.PrintMessage != "" && _BaseForm.isScan)
{
int ct = barcode.DoPrint(_BaseForm.PrintMessage, "宋体", 30, 100);
}
}
else
{
base.WndProc(ref msg);
}
}
catch (Exception ex)
{
}
}