在做Hook的Dll时,我想对调用程序用::SendMessage发消息,但不成功,以是代码片断HWND m_hwnd;//DLL里的全局变量
//EXE调用这里开始,参数是EXE传来的m_hWnd
HHOOK CHookApiFun::Start(HWND hWnd)
{
m_hwnd=hWnd; glhHook=SetWindowsHookEx(WH_KEYBOARD,APIFunctionProc,glhInstance,0); return glhHook;
}//拦截MessageBoxA后调用自己的函数,我本想在这里通知一下调用程序,可总是不能发出去,★★请问为什么?有什么方法可以发数据给调用程序吗?
static int WINAPI MyMessageBoxA(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType)
{
::SendMessage(m_hwnd.hWnd,MY_MSG,0,0);//就是这里不能发送成功!!好象m_hwnd为NULL是的... return MessageBox(hWnd,"Hook API OK!",lpCaption,uType);
}