2010-03-18 54 views
1

如何判断我的SendInput调用是否正常工作?我在下面有一小段代码,并且这个消息似乎从未被打过。 SendInput()返回1,并且没有错误,所以我假设该消息正常发布。如何在c#中测试SendInput

我也试过了Form KeyPress和KeyDown Events,而且我从来没有看到过这些。

private void button1_Click(object sender, EventArgs e) 
    { 
     INPUT input = new INPUT(); 
     input.mkhi.ki.wVk = (byte)System.Windows.Forms.Keys.B; 
     uint result = SendInput(1, ref input, Marshal.SizeOf(new INPUT())); 
    } 
    protected override void WndProc(ref Message m) 
    { 
     if (m.Msg == WM_KEYDOWN) 
     { 
      Console.WriteLine("GotIt"); 
     } 
     base.WndProc(ref m); 
    } 

回答

0

原来,因为我一直在寻找,向下键,我需要听ProcCmdKeys,而不仅仅是键按下事件。