如何在c#中测试SendInput

时间:2010-03-18 14:27:51

标签: c# keyboard sendinput

如何判断我对SendInput的调用是否正常?我下面有一个小片段,这条消息似乎永远不会被击中。 SendInput()返回1,并且没有错误,所以我假设消息正确输出。

我也尝试过Form KeyPress和KeyDown事件,而且我似乎也从未尝试过。

    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);
    }

1 个答案:

答案 0 :(得分:0)

事实证明,因为我正在查看向下键,我需要听ProcCmdKeys,而不仅仅是关键事件。