zoukankan      html  css  js  c++  java
  • wince扫描功能

    本代码在欣技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

    }

  • 相关阅读:
    Extract Manifest File From Application (exe)
    Basis: Command and Immediate Window
    MVC框架啊
    Brian's Guide to Solving Any Perl Problem
    [bbk3106]第13集 Chapter 07 介绍oracle的asm存储设备
    ASM
    [bbk3105]第12集 Chapter 07 介绍oracle的asm存储设备
    [bbk3104]第11集 Chapter 07 介绍oracle的asm存储设备
    [bbk3103]第10集 Chapter 06 介绍RAC的体系结构
    手把手一起安装RAC
  • 原文地址:https://www.cnblogs.com/jnyyq/p/3586863.html
Copyright © 2011-2022 走看看