| 下面演示一个控制IE进行刷新的方法: 第一步、创建 |
SHDocVw::IShellWindowsPtr m_spSHWinds;
if (m_spSHWinds == NULL){
if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK){
MessageBox("Failed");
CoUninitialize();
EndDialog(1);
}
}
|
| 第二步、获取当前所有打开的IE窗口 |
if (m_spSHWinds){
int n = m_spSHWinds->GetCount();
for (int i = 0; i < n; i++){
_variant_t v = (long)i;
IDispatchPtr spDisp = m_spSHWinds->Item(v);
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); //生成一个IE窗口的智能指针
if (spBrowser){
_bstr_t bsName = spBrowser->GetLocationName(); //窗口名称
int nPos = m_ctrlIE.InsertItem(0, bsName);
spBrowser->AddRef();
void * pData = spBrowser;
m_ctrlIE.SetItemData(nPos, (DWORD)(pData));
}
}
}
|
| 第三步、刷新IE窗口 |
pBrowser->Refresh(); //pBrowser指向SHDocVw::IWebBrowser2Ptr |
| 当然我们获取了IE窗口的IWebBrowser2后,我们就可以控制该IE,如读取设置元素的内容,以及其他一些更过的控制,参考IWebBrowser2,IHTMLDocument2等! |
如何控制IE的行为
最新推荐文章于 2021-09-16 10:44:33 发布
本文演示了一个通过COM接口控制Internet Explorer进行刷新的方法,包括创建ShellWindows对象、获取当前打开的所有IE窗口并刷新它们。
3861

被折叠的 条评论
为什么被折叠?



