C#에서 SendInput을 어떻게 테스트합니까?
문제
SendInput에 대한 통화가 제대로 작동하는지 어떻게 알 수 있습니까? 아래에 작은 스 니펫이 있고 메시지는 결코 맞지 않는 것 같습니다. sendInput ()은 1을 반환하고 오류가 없으므로 메시지가 제대로 나오고 있다고 가정합니다.
나는 또한 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);
}
해결책
다운 키를보고있는 이후로 밝혀졌습니다. Key Down 이벤트뿐만 아니라 Proccmdkeys를 들어야했습니다.
제휴하지 않습니다 StackOverflow