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