Как мне проверить SendInput в c # - PullRequest
1 голос
/ 18 марта 2010

Как я могу узнать, работает ли мой вызов SendInput должным образом? У меня есть небольшой фрагмент ниже, и сообщение, кажется, никогда не получает удар. SendInput () возвращает 1, и ошибок нет, поэтому я предполагаю, что сообщение отправляется правильно.

Я также пробовал 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);
    }

1 Ответ

0 голосов
/ 06 апреля 2010

Оказывается, поскольку я искал клавишу "вниз", мне нужно было слушать ProcCmdKeys, а не только событие нажатия клавиши.

...