在网上查了资料,wince中,c#的from不能直接处理消息,但是可以通过重载MessageWindow基类的WinProc方法,来处理收到的消息。
下面的代码,是在扫描条码的时候用到的,还有点问题。
激光头扫描条码成功后,会发出WM_SCAN消息,窗体可以通过这个消息来获取条码,在CGC600Msg构造函数中指定获取消息的窗体,在窗体中定义 gcMsg = new CGC600Msg(this);就可以扫描条码,CGC600Msg会获取到这个消息。但是没搞清楚如何获取条码,以后有机会再研究一下。
using System; using System.Collections.Generic; using System.Text; using Microsoft.WindowsCE.Forms; using System.Windows.Forms; namespace GC600Test { public class CGC600Msg: MessageWindow { private System.Windows.Forms.Form msgForm=null; public const int WM_SCAN = 0x500; public CGC600Msg( System.Windows.Forms.Form Form ) { this.msgForm = Form; } protected override void WndProc(ref Message m) { switch( m.Msg ) { case WM_SCAN: MessageBox.Show(m.LParam.ToString()); MessageBox.Show(m.WParam.ToString()); MessageBox.Show(m.ToString()); break; default: base.WndProc(ref m); break; } } } }
1394

被折叠的 条评论
为什么被折叠?



