wince中处理消息

本文介绍在Windows CE环境下使用C#处理WM_SCAN消息的方法,通过重载MessageWindow基类的WndProc方法实现对激光扫描枪条码扫描事件的响应。展示了如何创建自定义消息处理类CGC600Msg,并在窗体中实例化以捕获并显示WM_SCAN消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网上查了资料,wince中,c#的from不能直接处理消息,但是可以通过重载MessageWindow基类的WinProc方法,来处理收到的消息。

  下面的代码,是在扫描条码的时候用到的,还有点问题。

  激光头扫描条码成功后,会发出WM_SCAN消息,窗体可以通过这个消息来获取条码,在CGC600Msg构造函数中指定获取消息的窗体,在窗体中定义 gcMsg =  new CGC600Msg(this);就可以扫描条码,CGC600Msg会获取到这个消息。但是没搞清楚如何获取条码,以后有机会再研究一下。

 

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using Microsoft.WindowsCE.Forms;  
  5. using System.Windows.Forms;  
  6.   
  7. namespace GC600Test  
  8. {  
  9.     public class CGC600Msg: MessageWindow  
  10.     {  
  11.         private System.Windows.Forms.Form msgForm=null;  
  12.         public const int WM_SCAN = 0x500;  
  13.   
  14.         public CGC600Msg( System.Windows.Forms.Form Form )  
  15.         {  
  16.             this.msgForm = Form;   
  17.         }  
  18.   
  19.         protected override void WndProc(ref Message m)  
  20.         {  
  21.             switch( m.Msg )  
  22.             {  
  23.                 case WM_SCAN:  
  24.                     MessageBox.Show(m.LParam.ToString());  
  25.                     MessageBox.Show(m.WParam.ToString());  
  26.                     MessageBox.Show(m.ToString());  
  27.                     break;  
  28.                 default:  
  29.                     base.WndProc(ref m);  
  30.                     break;  
  31.             }  
  32.         }  
  33.     }  
  34. }  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值