現在、マウスのローレベルフックを使用して
マウスの「戻る」と「進む」を入れ替えるアプリを
作成しています。
フックで、ボタン押下を拾う事は出来たのですが、
入れ替えることができません。
ご教授宜しくお願いします。
以下、フック処理のコードです。
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
        BOOL bHandle = FALSE;
        MSLLHOOKSTRUCT *pmsllhook = (MSLLHOOKSTRUCT *)lParam;
        if (nCode == HC_ACTION) {
                switch (wParam)
                {
                        case WM_XBUTTONUP:
                        case WM_XBUTTONDOWN:
                                switch (HIWORD(pmsllhook->mouseData))
                                {
                                case VK_XBUTTON1:
                                        // たっているビットを落とす
                                        pmsllhook->mouseData &= ~VK_XBUTTON1 << 16;
                                        // XBUTTON2のメッセージをセットする
                                        pmsllhook->mouseData |= VK_XBUTTON2 << 16;
                                        break;
                                case VK_XBUTTON2:
                                        // ビットを落とす
                                        pmsllhook->mouseData &= ~VK_XBUTTON2 << 16;
                                        // XBUTTON1のメッセージをセットする
                                        pmsllhook->mouseData |= VK_XBUTTON1 << 16;
                                        break;
                                }
                                break;
                        default:
                                break;
                }
        }
    return CallNextHookEx(hHook2, nCode, wParam, lParam);
}
ツイート | ![]() |