我有一个程序,当用户按下 Ctrl 按钮并右键单击时,它将在屏幕上显示一个消息框。但它有一个循环,我只按 Ctrl 按钮并右键单击一次,但它会显示一系列消息框。如何解决这个问题? https://youtu.be/LzI9M_zEEKQ
这是我的 MouseProc 程序
#define EXPORT __declspec(dllexport)
unsigned char KeyState[256];
LRESULT EXPORT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0)
return CallNextHookEx(hHook, nCode, wParam, lParam);
GetKeyboardState(KeyState);
if (nCode == HC_ACTION)
{
if ((wParam == WM_RBUTTONUP) && (KeyState[VK_CONTROL] & 0x80))
{
MessageBox(NULL, L"Ctrl + Right Click", L"Mouse hook", MB_OK);
}
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}
谢谢阅读。