1

バーコード リーダーを備えた .NET CF3.5 WM6.1 デバイス用のアプリケーションを開発しており、デバイスのすべてのボタン (F1、1、スキャナー ボタン) のクリックをキャッチしたいと考えています。特にバーコードのボタン押下をキャッチする方法に興味があります。小さなアプリを作成しましたが、キャッチできる唯一のアクションはフォーム クローズです。誰かがこのコードで私を助けてくれますか? 私が逃したものは何ですか?

public partial class Form1 : Form
{
    MsgHandler m_MsgHandler;
    public Form1()
    {
        InitializeComponent();
        m_MsgHandler = new MsgHandler(this);
    }
    public class MsgHandler : MessageWindow
    {
        public const int WM_CLOSE = 71;
        public const int WM_USER = 0x0400;
        public const int WM_SCANTRIGGER = WM_USER + 702;
        private Form1 m_myForm;

        public MsgHandler(Form1 form)
        {
            m_myForm = form;
        }
        protected override void WndProc(ref Message msg)
        {
            switch (msg.Msg)
            {
                case WM_SCANTRIGGER:
                   this.m_myForm.DoAction1();
                   break;
                case WM_CLOSE:
                   break;
                default:
                    this.m_myForm.DoAction2(msg.WParam.ToInt32());
                    break;
            }
        }
    }
    public void DoAction1()
    {
        MessageBox.Show("Scann btn pressed!");
    }
    public void DoAction2(int button)
    {
        MessageBox.Show(button.ToString());
    }
}

ありがとう、ルーカス

4

2 に答える 2

1

バーコード リーダーは通常、通常のキーボードのように動作するため、特別なボタンを押す必要はありません。キーが押されたというメッセージを受け取り、コード全体の後に入力します。

于 2011-09-13T15:40:18.077 に答える
0

Microsoft POS for .NETが役立つ場合があります。

于 2011-09-13T17:50:57.357 に答える