Как протестировать 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);
}
Решение
Оказывается, поскольку я искал клавишу «вниз», мне нужно было слушать ProcCmdKeys, а не только событие «нажатие клавиши».
Не связан с StackOverflow