如何从IWebBrowser2获取documenCompleted事件?

时间:2014-09-15 22:58:35

标签: winapi activex

我正在努力在Win32应用中实现oauth。我可以在我的应用程序中托管Web浏览器控件,并使用IWebBrowser2接口,可以导航到指定的oauth链接。

当登录成功时,服务器将响应作为包含我需要的授权令牌的json文档发送。

我见过C#/ WPF示例,客户端代码在WebBrower.DocumentCompleted事件中捕获令牌。

我想知道如何在C ++应用程序中实现文档完成的事件。我现在拥有的只是IWebBrowser2对象。问候。

1 个答案:

答案 0 :(得分:4)

1)WebBrowser2.QueryInterface(IConnectionPointContainer,ConnectionPointContainer)

2)ConnectionPointContainer.FindConnectionPoint(DIID_DWebBrowserEvents2,ConnectionPoint)

3)ConnectionPoint.Advise(Self,ConnectionPointCookie)

4)Self必须实现IDispatch

5)在Self.Invoke内,您将捕获所有事件,包括DISPID_DOCUMENTCOMPLETE。

6)不要忘记在工作结束时致电ConnectionPoint.Unadvise。