博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wince扫描功能
阅读量:4924 次
发布时间:2019-06-11

本文共 2124 字,大约阅读时间需要 7 分钟。

本代码在欣技9300PDA手持机实现的:

1.初始化扫码服务

Reader.ReaderEngineAPI.InitReader();

if (Global.MsgWindow == null)

   Global.MsgWindow = new MsgWindow();

2.在需要扫码的页面添加扫码事件

Global.MsgWindow.OnReadeBarCode += new EventHandler<MyEventArg>(MsgWindow_OnReadeBarCode);  //扫描事件(窗体加载事件中)

this.Closing += new CancelEventHandler(SmokeOrderDesc_Form_Closing);  //当前窗体释放扫描(窗体加载事件中)

#region

扫码事件 private void MsgWindow_OnReadeBarCode(object sender, MyEventArg e) { 。。。

}

#endregion

3.离开扫码的页面需要解除扫码事件

Global.MsgWindow.OnReadeBarCode -= new EventHandler<MyEventArg>(MsgWindow_OnReadeBarCode);

注意:需要用到2个dll类库ReaderDll_CE.dll和Reader_Ce_Net.DLL,创建两个公共类GLobal和MsgWindow。

Global.cs文件代码如下:

public class Global

{

#region 全局变量

static public MsgWindow MsgWindow = null;

#endregion

}

MsgWindow.cs文件代码如下:

public class Win32API

{

#region 调用非托管代码

[DllImport("coredll.dll", SetLastError = true)]

public static extern uint RegisterWindowMessage(string lpstring);

#endregion

}

public class MsgWindow : MessageWindow

{

  #region 属性

  public static readonly string WM_DECODEDATA = "WM_DECODEDATA";

  public UInt32 decodeMsg = 0;

  int bl = 0;

  public string CodeDesc = string.Empty; public event EventHandler<MyEventArg> OnReadeBarCode;

  #endregion

  #region 构造方法

  public MsgWindow()

  {

    decodeMsg = Win32API.RegisterWindowMessage(WM_DECODEDATA);

  }

  #endregion

  #region 扫码代码

  protected override void WndProc(ref Message m)

  {

    if (m.Msg == decodeMsg)

    {

      switch (m.WParam.ToInt32())

      {

        case Reader.ReaderEngineAPI.DC_READER_BC:

          bl = Reader.ReaderEngineAPI.GetDecodeData(ref CodeDesc);

           MyEventArg arg = new MyEventArg();

           arg.BL = bl; arg.CodeDesc = CodeDesc;

          if (OnReadeBarCode != null)

          {

             OnReadeBarCode(null, arg);

          }

          break;

          default: break;

       }

    }

    base.WndProc(ref m);

  }

  #endregion

}

public class MyEventArg : EventArgs

{

  #region 属性

  /// <summary>

  /// 扫描返回值

  /// </summary>

  public int BL;

  /// <summary>

  /// 条码结果

  /// </summary>

  public string CodeDesc;

  #endregion

}

 

 

 

转载于:https://www.cnblogs.com/jnyyq/p/3586863.html

你可能感兴趣的文章
iOS UILabel自定义行间距时获取高度
查看>>
Freesiwtch NAT支持
查看>>
密码强度的正则表达式(JavaScript)总结
查看>>
13 hbase连接
查看>>
汇编-实验一
查看>>
七、Jmeter + ant + jenkins轻量级接口自动化测试
查看>>
[转载]Virtual Machine Manager on Synology DS716+II
查看>>
简单易用的堡垒机系统—Teleport
查看>>
Python 递归
查看>>
MySQL常用函数
查看>>
[转帖]日本制裁韩国 全球闪存、内存芯片或许要重新涨价了
查看>>
关于SQL2005EXPRESS默认远程无法连接的解决
查看>>
React 16.x 新特性思维导图
查看>>
windows下开多个CMD窗口多个进程输出
查看>>
Ajax实现联想(建议)功能
查看>>
编译cef 2526
查看>>
JavaSE 学习笔记之Object对象(八)
查看>>
两天没有好好休息的感觉
查看>>
CSS H5布局
查看>>
iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.
查看>>