немного похимичил, почти все заработало кроме CTRL+C
MSG msg;
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
bool cont = true;
if (msg.message>=WM_KEYFIRST && msg.message <= WM_KEYLAST)
{
cont = !_browser.Pretranslate(msg);
}
if (cont)
DispatchMessage(&msg);
}
.......
bool IEAtl::Pretranslate(const MSG &m)
{
if (m.message >= WM_KEYFIRST && m.message <= WM_KEYLAST)
{
HRESULT keyTranslated = S_FALSE;
if ( _inPlaceActive )
{
CComQIPtr<IOleInPlaceActiveObject,
&IID_IOleInPlaceActiveObject> spInPlaceActiveObject(_spWebBrowser);
keyTranslated = spInPlaceActiveObject->TranslateAccelerator((LPMSG) &m );
}
if ( keyTranslated != S_OK )
{
SendMessage( GetInternetExplorerWnd(), m.message, m.wParam, m.lParam );
//return true;
}
return true;
}
return false;
}
Что еще не так тут?