使用WH_CALLWNDPROC钩子的问题,求助!
hyamw 2003-05-31 02:37:58 我想当Show=TRUE的时候显示一个对话框(附加给当前输入焦点所在的窗口)
LRESULT _declspec(dllexport) CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if(nCode==HC_ACTION&&wParam==0)
if(Show)
{
Show=FALSE;
HWND hwnd = ::GetForegroundWindow();
g_hWnd=NULL;
g_hWnd=::CreateDialog(g_hInstances,MAKEINTRESOURCE(IDD_DIALOG2), hwnd,DLGPROC(DialogProc));
if(!g_hWnd)
return FALSE;
CWnd *g_hwnd;
CStatic *m_hStatic2;
m_hStatic2=CWnd::FromHandle(FindWindowEx(g_hwnd->GetSafeHwnd(),NULL,"STATIC",""));
m_hStatic2->SetWindowText(buff);
}
LRESULT RetVal = CallNextHookEx(g_hKeyHook, nCode, wParam, lParam );
return RetVal;
}
为什么当输入焦点所在窗口是DIRECTX窗口时,会切换出去显示对话框?而不是在当前窗口直接显示?应该如何修改?