1

こんにちは。グローバルマウスフックを書いています。フックが最初のマウスイベントに対してのみ呼び出されることを除いて、すべてがうまく機能しているようです。いくつかのコード:

// Dll defined function
    extern "C" Q_DECL_EXPORT LRESULT MouseProc(int code, WPARAM wParam, LPARAM lParam)
    {
        qDebug() << "MouseProc";
        return TRUE;
    }

// Application code
    ...
        hLib = LoadLibrary(TEXT("ServerHook.dll"));
        HOOKPROC hookAddr = (HOOKPROC)GetProcAddress(hLib, "MouseProc");
        if (!hookAddr) {
            qDebug() << "Invalid hook proc " << GetLastError();
        }
        if ((WinInputHook::hookHandle = SetWindowsHookEx(
                    WH_MOUSE, hookAddr, hLib, 0))
                    == NULL) {
            qDebug() << "Invalid hook handle " << GetLastError();
        }
    ...
4

1 に答える 1

1

インストールするフック(WH_KEYBOARD)は、マウスではなく、「キーストローク メッセージを監視するフック プロシージャをインストールします」

于 2012-05-11T11:19:07.403 に答える