Como faço para testar o sendinput em c#
Pergunta
Como posso saber se minha chamada para sendinput está funcionando corretamente? Eu tenho um pequeno trecho abaixo, e a mensagem nunca parece ser atingida. SendInput () retorna 1 e não há erros, então presumo que a mensagem esteja saindo corretamente.
Eu também tentei os eventos do KeyPress e Keydown e também pareço que eles também os peguem.
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);
}
Solução
Acontece que, já que eu estava olhando a tecla Down, eu precisava ouvir o Proccmdkeys, e não apenas o evento Key Down.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow