如何使用C#从嵌入式系统(Windows CE 6.0)中的设备接收自定义消息

本文关键字:自定义消息 何使用 嵌入式 系统 CE Windows | 更新日期: 2023-09-27 17:57:35

我有一个连接了指纹传感器的设备。该设备运行的是windows CE 6.0。我目前正在使用C#为该设备开发一个应用程序。

我的问题是:

我使用pInvoke初始化与传感器的通信。然而,我仍然困惑于如何配置我的应用程序,以便在触摸传感器时实现。换句话说,如何在应用程序中捕获由传感器触发的事件。

非常感谢任何建议。

**更新(当我点击关闭窗口按钮时,试图自动告诉我的表单该做什么)

public partial class Form1 : Form
{
    internalMessageWindow msgReceived;
public Form1()
    {
        InitializeComponent();
        this.msgReceived = new internalMessageWindow(this);
    }
 private void Form1_Load(object sender, EventArgs e)
    {
        msgReceived.MsgEvntArg += new EventHandler<MessageGetEvent>(messageWindow_MsgEvntArg);
    }
     void messageWindow_MsgEvntArg(object sender, MessageGetEvent e)
    {
        MessageBox.Show(e.message.ToString());
    }
}
public class MessageGetEvent : EventArgs
{
    private Message _message;
    public MessageGetEvent(Message msg)
    {
        _message = msg;
    }
    public Message message
    {
        get { return _message; }
    }
}
public class internalMessageWindow : MessageWindow
{
        public const int WM_CLOSE = 0x0010; 
    Form referedForm;
    public event EventHandler<MessageGetEvent> MsgEvntArg;
    public internalMessageWindow(Form referedForm)
    {
        this.referedForm = referedForm;
    }
    protected override void WndProc(ref Message msg)
    {
        if (MsgEvntArg != null)
            MsgEvntArg(this, new MessageGetEvent(msg));

    //switch (msg.Msg)
        //{
        //    // If message is of interest, invoke the method on the form that
        //    // functions as a callback to perform actions in response to the message.
        //    case WM_CLOSE:
        //        if (MsgEvntArg != null)
        //        MsgEvntArg(this, new MessageGetEvent(msg));
        //        
        //        break;
        //}
        base.WndProc(ref msg);
    }
}

如何使用C#从嵌入式系统(Windows CE 6.0)中的设备接收自定义消息

您应该提供更多关于传感器以及它如何连接到板/处理器的信息。它可能需要一个驱动程序(例如,如果它是通过USB连接的),或者你可能需要了解应该使用哪个接口和驱动程序来交换信息。如果是UART,windows CE提供标准API,如果是另一条总线(I2C、SPI等),您可能需要了解如何与总线驱动程序接口(一些公司提供应用程序库来实现这一点)。