C#键盘挂钩,按键向上事件

本文关键字:事件 键盘 | 更新日期: 2023-09-27 18:21:30

我有一个C#函数,我正在试图弄清楚,下面是代码:

private int KbHookProc(int nCode, IntPtr wParam, IntPtr lParam)
    {
        if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
        {
            var hookStruct = (KbLLHookStruct)Marshal.PtrToStructure(lParam, typeof(KbLLHookStruct));
            bool ctrlDown = GetKeyState(0xA2) != 0 || GetKeyState(0xA3) != 0;
            if (hookStruct.vkCode == 0x56 && hookStruct.KF_REPEAT == 0)
            {
                Clipboard.SetText(" ");
                MessageBox.Show("Hit ?);
            }                
        }
        if (nCode >= 0 && wParam == (IntPtr)WM_KEYUP)
        {
                MessageBox.Show("Message : KEY UP");
        }
        // Pass to other keyboard handlers. Makes the Ctrl+V pass through.
        return CallNextHookEx(_hookHandle, nCode, wParam, lParam);        
    }

所以我在这里要找的是当按下L_CTRL+V按钮时如何激发事件。它正在发挥作用;然而,我只想在钥匙打开后启动活动,为此我迷失了方向。有人能给我指路吗?

C#键盘挂钩,按键向上事件

我只想在钥匙扣上后启动活动,为此我迷失了方向。有人能给我指路吗?

如果只想在释放钥匙时做出响应,则只响应WM_KEYUP消息。

删除if语句中处理WM_KEYDOWN消息的部分。