Как захватывать события, выпущенные из нового окна всплывающего -- c++ поле с участием activex поле с участием browser поле с участием mshtml пол Связанный проблема

How to capture events fired from new Popup IE window


0
vote

проблема

русский

Приветствия!

<Сильная> Ситуация:

My ActiveX DLL содержит индивидуальный webbrowser. WebBrowser отображает веб-страницу. Когда пользователь нажимает на ссылку на отображаемой странице, появится новое появление IE Plock UP и перейдите к URL Щелкнувшей URL.

<Сильный> Вопрос:

Как я могу запечатлеть события documencomplete и navigateComplete, выпущенные от ust up up, то есть?

Что я уже пробовал:

Я пытался захватить * Newwindow2 (idispatch ** pppdisp, Variant_bool Отмена) Мероприятие уволено из индивидуального WebBrowser (не новое окно IE), и получила указатель PPDISP, который указывает на новый Weadown. Я попытался использовать этот указатель в качестве источника событий для консультации или подключения к обработчику событий (IDispatch :: Invoke) для захвата событий. Однако это не работает. Может быть, отказ в том, что документ в новом окне IE еще не загружен. Я не уверена.

Можете ли вы дать мне предложение, что я должен сделать?

Спасибо!

Английский оригинал

Greetings!

Situation:

My ActiveX DLL contains a customized webbrowser. The webbrowser displays a web page. When user clicks the link within the displayed page, a new IE window pop up and navigate to the clicked link URL.

Question:

How can I capture the DocumenComplete and NavigateComplete events fired from the NEW pop up IE window?

What I already tried:

I tried to capture the *NewWindow2(IDispatch **ppDisp, VARIANT_BOOL Cancel) event fired from customized webbrowser (not new IE window), and obtained the pointer ppDisp which points to the new IE windown. I tried to use this pointer as event source to advise or connect to the event handler (IDispatch::Invoke) for event capture. However it does not work. Maybe the failure is because the document in new IE window has not been loaded yet. I am not sure.

Can you please give me an suggestion what I should do?

Thanks!

</div
           

Список ответов

1
 
vote

Вы не получаете новый веб-браузер в PPDISP. Вы создаете один, мероприятия погружения и возвращаете свой свойство приложения в PPDISP на мероприятие.

 

You don't obtain the new web browser in ppDisp. You create one, sink events, and return its application property in ppDisp to the event.

</div
 
 
   
   
1
 
vote
 <код> void CYourDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel) {   CDlgNewWB* dlgNewWB = new CYourDlg;   this.listDialogWeb.Add(dlgNewWB);   dlgNewWB ->Create(IDD_WBDLG_DIALOG);    dlgNewWB ->m_webBrowser.SetRegisterAsBrowser(TRUE);    *ppDisp = dlgNewWB ->m_webBrowser.GetApplication();   

}

 
void CYourDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel) {   CDlgNewWB* dlgNewWB = new CYourDlg;   this.listDialogWeb.Add(dlgNewWB);   dlgNewWB ->Create(IDD_WBDLG_DIALOG);    dlgNewWB ->m_webBrowser.SetRegisterAsBrowser(TRUE);    *ppDisp = dlgNewWB ->m_webBrowser.GetApplication(); 

}

</div
 
 

Связанный проблема

-1  C ++ DO В то время как проблемы с петлей [закрыто]  ( C do while loop issues ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

501  Как использовать постоянную PI в C ++  ( How to use the pi constant in c ) 
Я хочу использовать постоянные и тригонометрические функции PI в некоторой программе C ++. Я получаю тригонометрические функции с помощью <код> include <math....

0  Как настроить VS2008 для эффективного развития C ++  ( How to setup vs2008 for efficient c development ) 
Обычно I Программируйте в C #, но были вынуждены выполнять работу в C ++. Похоже, что интеграция с Visual Studio (2008) действительно плохо по сравнению с C #...

-4  Петля, которая компилирует и работает в INT основной функции не скомпилируется при введении в отдельную функцию [закрыто]  ( Loop that compiles and runs in int main function wont compile when put into a se ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыто. Этот вопрос нуждается в Детали отладки . В настоящее вр...

6  Singleton & Multi-Threading  ( Singleton multi threading ) 
У меня есть следующий класс <код> class Singleton { private: static Singleton *p_inst; Singleton(); public: static Singleton * instance()...

-1  Приложение C ++ в массивах с использованием арифметического указателя  ( C app on arrays using pointer arithmetic ) 
Вопрос: как я могу генерировать случайное животное из массива, используя эту функцию? <код> const int MAX =12; //12 animals const int MAXSTR = 10; ...

-1  Бросить исключение, когда неправильный тип введен в  ( Throw exception when a wrong type is keyed in ) 
Я должен написать программу C ++, в которой функция состоит в том, чтобы прочитать два номера double Тип чисел из клавиатуры и добавить <код> try BLOCK, чт...

1  Почему 64-битное целое расширение C ++ называется «долгим долгом»?  ( Why is the 64bit integer extension of c called long long ) 
В отличие от других типов: «int», "логический", "двойной" и т. Д. И даже таможенные классы, есть только одно слово. Однако только одно слово для их типа тольк...

0  Правильный способ использования вариационного шаблона функции вызова со строковыми аргументами C ++  ( Proper way of using variadic template function call with string arguments c ) 
Здравствуйте, что не то, что я здесь делаю, используя вариадические шаблоны через строку? Как правильно использовать его для достижения заданий ниже? <код> ...

57  Как сделать макрос C ++ вести себя как функция?  ( How do i make a c macro behave like a function ) 
Допустим, по какой-то причине вам нужно написать макрос: <код> MACRO(X,Y) . (давайте предположим, что есть веская причина, по которой вы не можете использова...

2  Создание хеша для данных больше, чем память (без зарядки)  ( Generating a hash for data larger than memory without getting arrested ) 
Добрый послеобеденный переполнец! ;) Что я хочу сделать: Я заинтересован в проверке передаваемой целостности файлов. Как я подошел к нему: Я рассм...

3  Как создавать закрытые зоны (выпуклые многоугольники) от набора сегментов линии?  ( How to create closed areas convex polygons from set of line segments ) 
Следующая проблема находится в 2D, поэтому некоторые упрощения могут быть сделаны при предложении ответов. Мне нужно создать закрытые области (определены ли...

5  Что такое "для (x: y)"?  ( What is for x y ) 
Итак, я оглянулся на межпубки о нитках, и я пришел в блог / учебную вещь о нитках, но то, что меня смущено, была эта линия, которую он использовал <код> for...

1  Шаблон статических классов через динамические связанные библиотеки  ( Template static classes across dynamic linked libraries ) 
У меня есть классовый класс со статическим значением, как это: <код> template <class TYPE> class A{ static TYPE value; }; в коде dll I назначаю ст...

-1  Неожиданный идентификатор ошибки - не уверен, почему (C ++)  ( Unexpected error id not sure why c ) 
IM Реализация программы C ++, по соображениям проекта оно должно быть включено в один файл, поэтому я не могу поставить то, что вы обычно в отдельном файле за...

Связанный проблема

-1  C ++ DO В то время как проблемы с петлей [закрыто] 
501  Как использовать постоянную PI в C ++ 
0  Как настроить VS2008 для эффективного развития C ++ 
-4  Петля, которая компилирует и работает в INT основной функции не скомпилируется при введении в отдельную функцию [закрыто] 
6  Singleton & Multi-Threading 
-1  Приложение C ++ в массивах с использованием арифметического указателя 
-1  Бросить исключение, когда неправильный тип введен в 
1  Почему 64-битное целое расширение C ++ называется «долгим долгом»? 
0  Правильный способ использования вариационного шаблона функции вызова со строковыми аргументами C ++ 
57  Как сделать макрос C ++ вести себя как функция? 
2  Создание хеша для данных больше, чем память (без зарядки) 
3  Как создавать закрытые зоны (выпуклые многоугольники) от набора сегментов линии? 
5  Что такое "для (x: y)"? 
1  Шаблон статических классов через динамические связанные библиотеки 
-1  Неожиданный идентификатор ошибки - не уверен, почему (C ++)