Domanda

Come posso sapere se il mio invito a SendInput funziona correttamente? Ho un piccolo frammento di sotto, e il messaggio non sembra mai essere colpito. SendInput () restituisce 1, e non c'è nessun errore, quindi immagino che il messaggio sta uscendo correttamente.

Ho anche provato il modulo di KeyPress e KeyDown eventi, e non ho mai sembra di ottenere quelle sia.

    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);
    }
È stato utile?

Soluzione

Si scopre da quando stavo cercando la chiave verso il basso, avevo bisogno di ascoltare ProcCmdKeys, e non solo la chiave verso il basso manifestazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top