在一个DLL文件里有这么一段代码:
LRESULT CALLBACK HookWinampWnd(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);WNDPROC pOrigProc;
pOrigProc = (WNDPROC)SetWindowLong(plugin.hwndParent/*HWND类型*/, GWL_WNDPROC, (LONG)HookWinampWnd/*回调函数*/); //调用SetWindowLong函数,为什么要用会掉函数作为第四个参数呢?
CWnd wndTemp; //定义临时变量wndTemp
wndTemp.Attach(plugin.hwndParent);m_MainWnd.Create(&wndTemp);//创建m_MainWnd主窗口,该变量已定义CMyMainWnd,作为DLL文件里的主窗口,然后再根据wndTemp输入参数注册窗口,并调用CreateEx()函数创建(HWND hwndParent输入参数为wndTemp->GetSafeHwnd())。主窗口能够显示出来,但是在调用GetParent()函数获得其父亲指针时就出错了,请问是什么原因?
LRESULT CALLBACK HookWinampWnd(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);WNDPROC pOrigProc;
pOrigProc = (WNDPROC)SetWindowLong(plugin.hwndParent/*HWND类型*/, GWL_WNDPROC, (LONG)HookWinampWnd/*回调函数*/); //调用SetWindowLong函数,为什么要用会掉函数作为第四个参数呢?
CWnd wndTemp; //定义临时变量wndTemp
wndTemp.Attach(plugin.hwndParent);m_MainWnd.Create(&wndTemp);//创建m_MainWnd主窗口,该变量已定义CMyMainWnd,作为DLL文件里的主窗口,然后再根据wndTemp输入参数注册窗口,并调用CreateEx()函数创建(HWND hwndParent输入参数为wndTemp->GetSafeHwnd())。主窗口能够显示出来,但是在调用GetParent()函数获得其父亲指针时就出错了,请问是什么原因?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货