我正在開發一個帶有條形碼閱讀器的.NET CF3.5 WM6.1設備的應用程序,並且想要捕獲所有按鈕(F1,1,掃描儀按鈕)單擊某個設備。特別是我有興趣如何抓住條形碼按鈕按下。我寫了一個小應用程序,但我可以捕捉的唯一行動是形式接近。 任何人都可以幫我用這段代碼嗎?我錯過了什麼?WndProc,如何捕捉所有按鈕?
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());
}
}
謝謝 盧卡斯
你從哪裏得到這個'WM_USER + 702'? – PaulH
在設備條形碼示例中,該示例不適用於 – Lukas
如果示例不起作用,請撥打該移動設備的支持號碼。 – PaulH