请问:怎么获取多选项卡IE,当前浏览的是哪个页面?
请教:如何获取多选项卡IE,当前浏览的是哪个页面??
现在可以获取到所有 IE 的打开页面,(IE8浏览器),
怎么判断当前的浏览页面是哪个?
例如:选项卡页面有一下几个网页
新浪,百度,QQ,163等等的选项卡
如何知道当前浏览页面是 百度 哪???
------解决方案--------------------
查找下IE窗口的标题是什么,用FindWindow()根据类名“IEFrame”查找IE窗口,再用GetWindowText得到窗口标题
------解决方案--------------------
- C/C++ code
SHDocVw::IShellWindowsPtr m_spSHWinds; //初始化Com环境 CoInitialize(NULL); m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)); if(m_spSHWinds) { //获得ie数量 int n = m_spSHWinds->GetCount(); //这个可以获取到所有IE的页面。。 }
现在可以获取到所有 IE 的打开页面,(IE8浏览器),
怎么判断当前的浏览页面是哪个?
例如:选项卡页面有一下几个网页
新浪,百度,QQ,163等等的选项卡
如何知道当前浏览页面是 百度 哪???
------解决方案--------------------
查找下IE窗口的标题是什么,用FindWindow()根据类名“IEFrame”查找IE窗口,再用GetWindowText得到窗口标题
------解决方案--------------------
- C/C++ code
HWND CMyRock::GetMenuParentIE8() { long nBrowser = 0; m_spWebBrowser->get_HWND(&nBrowser); HWND hWndParent = (HWND)nBrowser; HWND hWnd = GetWindow(hWndParent, GW_CHILD); // 查询主窗体,用SPY++看,会明白一些 if(hWnd) { TCHAR szClassName[MAX_PATH]; while(hWnd) { memset(szClassName,0,MAX_PATH); GetClassName(hWnd, szClassName, MAX_PATH); if(_tcscmp(szClassName,_T("Frame Tab"))==0) { // if(IsWindowVisible(hWnd)) { hWnd = GetWindow(hWnd, GW_CHILD); while(hWnd) { memset(szClassName, 0, MAX_PATH); GetClassName(hWnd, szClassName, MAX_PATH); if(_tcscmp(szClassName,_T("TabWindowClass"))==0) { hWnd = GetWindow(hWnd, GW_CHILD); while(hWnd) { memset(szClassName, 0, MAX_PATH); GetClassName(hWnd, szClassName, MAX_PATH); if(_tcscmp(szClassName,_T("Shell DocObject View"))==0) { hWnd = FindWindowEx(hWnd, NULL, _T("Internet Explorer_Server"), NULL); MessageBox(NULL, L"111", L"2222", 1); break; } hWnd = GetWindow(hWnd, GW_HWNDNEXT); } } hWnd = GetWindow(hWnd, GW_HWNDNEXT); } } } hWnd = GetWindow(hWnd, GW_HWNDNEXT); } } return hWnd; }
------解决方案--------------------
这个?
http://topic.****.net/t/20021118/14/1185841.html
------解决方案--------------------
HWND mainWnd = NULL, addressEdit = NULL;
mainWnd = ::FindWindowEx( mainWnd, NULL, TEXT( "WorkerW" ), NULL );
mainWnd = ::FindWindowEx( mainWnd, NULL, TEXT( "ReBarWindow32" ), NULL );
mainWnd = ::FindWindowEx( mainWnd, NULL, TEXT( "Address Band Root" ), NULL);
addressBarEdit = ::FindWindowEx( mainWnd, NULL, TEXT( "Static" ), NULL);
对这个窗口发送WM_GETTEXT,参考:http://www.vckbase.com/document/viewdoc/?id=240