2010-03-18 4 views
1

Comment puis-je savoir si mon appel à SendInput fonctionne correctement? J'ai un petit extrait ci-dessous, et le message ne semble jamais être touché. SendInput() renvoie 1, et il n'y a pas d'erreur, donc je suppose que le message sort correctement.Comment tester SendInput dans C#

J'ai également essayé les événements Form KeyPress et KeyDown, et je n'ai jamais l'impression de les avoir non plus.

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

Répondre

0

Il se trouve que je cherchais la clé vers le bas, je devais écouter ProcCmdKeys, et non pas seulement la clé vers le bas événement.

Questions connexes