回 帖 发 新 帖 刷新版面

主题:如何替换掉桌面窗口的WndProc?

如何替换掉桌面窗口的WndProc?

我试过用SetWindowLong带GWL_WNDPROC参数,但没有用!

哪位高手,达人请指教!![em3][em3][em3]

回复列表 (共3个回复)

沙发

你想替换其他应用程序的 WndProc? 好像 HOOK 和 代码插入 可以干这种事

板凳

你是想不用wndproc吧,在创建窗口时改掉它的处理函数名就可以了啊

3 楼

SetWindowLong怎么会没用呢?
WNDPROC MainTVProc;
BOOL WndMainTVProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

MainTVProc = (WNDPROC)SetWindowLong(hWndTreeView, GWL_WNDPROC, (LONG)WndMainTVProc);
BOOL WndMainTVProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
//...
return CallWindowProc(MainTVProc, hWnd, uMsg, wParam, lParam);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册