|

楼主 |
发表于 2012-11-2 15:33:58
|
显示全部楼层
我这个钩子有什么问题哇??点击最小化按钮,也没有弹出对话框啊。T_T
    if (AllocConsole())
    {
        hHook = SetWindowsHookEx(WH_CALLWNDPROC, HookProc, 0, GetCurrentThreadId());
        if (hHook == NULL)
        {
            MessageBoxA(0, "Console Created Failed.", "Error!", MB_OK);
            FreeConsole();
            return 0;
        }
        SetConsoleTitleA("Debug Window");
        freopen("CONOUT$","w+t",stdout);
        freopen("CONIN$","r+t",stdin);
        cout << DebugInfo;
        uiState ^= 1;
        return 1;
    }
LRESULT CALLBACK DebugRecord::HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    LPCWPSTRUCT lpmsg= (LPCWPSTRUCT)lParam;
    if(nCode == HC_ACTION && !wParam)
    {
        if(lpmsg->hwnd == GetConsoleWindow())
        {
            stringstream ss;
            ss << lpmsg->message;
            string s;
            ss >> s;
            MessageBoxA(0, s.c_str(), "HOOK", MB_OK);
        }
        //if(lpmsg->message == WM_COMMAND)
    }
    return CallNextHookEx(hHook, nCode, wParam, lParam);
} |
|