В BHO мне нужно перехватить кнопки Назад / Вперед.
Для этого я объявил метод в своем проекте:
BEGIN_SINK_MAP(CAddonHandler)
...
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_COMMANDSTATECHANGE, CommandStateChange)
.....
END_SINK_MAP()
void STDMETHODCALLTYPE CommandStateChange( long Command, VARIANT_BOOL Enable);
Определение этого метода:
void STDMETHODCALLTYPE CAddonHandler::CommandStateChange( long Command, VARIANT_BOOL Enable)
{
if ((Command == CSC_NAVIGATEFORWARD) || (Command == CSC_NAVIGATEBACK))
m_numberTransition = 5;
}
После сборки и запуска этот метод начал перехватывать все события IE:
Введите URL из адресной строки, нажмите на ссылку и т. Д. Почему?
Я заметил браузервызывал этот метод два раза:
первый для CSC_NAVIGATEBACK, второй для CSC_NAVIGATEFORWARD
Любые идеи