문제

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를 들어야했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top