本人的一些实现如下(这段代码大部分都是copy来的只在中间加了一些我想要的实现语句,没想到一直没有成功):
CWnd* pWnd=AfxGetMainWnd () ->GetWindow (GW_HWNDFIRST); while (pWnd) { // window visible, has a caption, and does not have an owner? if (pWnd ->IsWindowVisible () && pWnd ->GetWindowTextLength () &&! pWnd ->GetOwner ()) { pWnd ->GetWindowText (strCaption);
//与我想要的IE浏览器窗口TITLE匹配
if(strCaption.Find("CSDN")>=0)
{
// pWnd->SetActiveWindow();
// pWnd->BringWindowToTop();
// pWnd->SetFocus();
pWnd->SendMessage(WM_KEYDOWN,VK_F5,1);
pWnd->SendMessage(WM_HOTKEY,IDHOT_SNAPWINDOW,VK_F5);
// pWnd->UpdateWindow();
}
} //Get next window in window list. pWnd=pWnd->GetWindow (GW_HWNDNEXT); }
结果我发送的消息没有反应。忙了几天没有结果!头都大了!
CWnd* pWnd=AfxGetMainWnd () ->GetWindow (GW_HWNDFIRST); while (pWnd) { // window visible, has a caption, and does not have an owner? if (pWnd ->IsWindowVisible () && pWnd ->GetWindowTextLength () &&! pWnd ->GetOwner ()) { pWnd ->GetWindowText (strCaption);
//与我想要的IE浏览器窗口TITLE匹配
if(strCaption.Find("CSDN")>=0)
{
// pWnd->SetActiveWindow();
// pWnd->BringWindowToTop();
// pWnd->SetFocus();
pWnd->SendMessage(WM_KEYDOWN,VK_F5,1);
pWnd->SendMessage(WM_HOTKEY,IDHOT_SNAPWINDOW,VK_F5);
// pWnd->UpdateWindow();
}
} //Get next window in window list. pWnd=pWnd->GetWindow (GW_HWNDNEXT); }
结果我发送的消息没有反应。忙了几天没有结果!头都大了!
再在程序里模拟这个消息....
pWnd->SendMessage(WM_KEYDOWN,VK_F5,1);
很可能参数不对,也很可能IE中不是这个窗口接收按键消息,
也有可能是WM_KEYUP才能响应等等
于是我加了条语句:
pWnd->SendMessage(WM_USER+401,0,0);结果还是不行。
IWebBrowser2::Refresh
可是我不知道如何得到IWebBrowser2 pointer,麻烦你再详细点,好吗?(我不会com)
process.
I found some MS information
HOWTO: Connect to a Running Instance of Internet Explorer
(http://support.microsoft.com/support/kb/articles/Q176/7/92.ASP)
有源代码.好用给分.谢谢