请注意,因为ie中可能有框架,所以我以下的代码只能获得框架网页的url,我想或得的是整个ie的标题和url.这个脚本该怎么写?
<script language="VBScript">
Sub OnContextMenu()
set srcEvent = external.menuArguments.event
set EventElement = external.menuArguments.document.elementFromPoint(srcEvent.clientX, srcEvent.clientY)
set fd_Catch=CreateObject("AA.Api")
Alert(external.menuArguments.document.Url)
Call fd_Catch.Addurl(external.menuArguments.document.Url)
end Sub
call OnContextMenu()
</script>
<script language="VBScript">
Sub OnContextMenu()
set srcEvent = external.menuArguments.event
set EventElement = external.menuArguments.document.elementFromPoint(srcEvent.clientX, srcEvent.clientY)
set fd_Catch=CreateObject("AA.Api")
Alert(external.menuArguments.document.Url)
Call fd_Catch.Addurl(external.menuArguments.document.Url)
end Sub
call OnContextMenu()
</script>
解决方案 »
- 急,RS232发送问题
- 怎么创建一个圆角groupbox
- 偶是新人,经常看到说什么YY帖,YY帖到底是什么意思,指点一下!
- va_arg用法
- 如何在初始化时使某个控件获得焦点
- 为什么我的vs2003.net的msdn没法用?
- 使用SendRequest 接受数据时,数据不完整,为什么?如何办?
- 在listctrl上如何实现ComboBox的编辑功能
- 对ATL控件打包发布时,提示时间戳服务的URL无效怎么回事?
- 300.00分求救~~急急急急急急急~INSTALLSHIELD如何处理大规模的注册表写入工作?(分会逐渐加上来!)
- 在WIN2000下怎么VC不识别PROCESSENTRY32结构啊
- 关于OnPrint()函数
标题 根据Internet Explorer_Server窗口得到IHtmlDocument2接口 111222(收藏)
关键字 根据Internet Explorer_Server窗口得到IHtmlDocument2接口/IE/WebBrowser
代码很少,自己看#include <mshtml.h>
#include <atlbase.h>
#include <oleacc.h>BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
TCHAR buf[100]; ::GetClassName( hwnd, (LPTSTR)&buf, 100 );
if ( _tcscmp( buf, _T("Internet Explorer_Server") ) == 0 ) \{
*(HWND*)lParam = hwnd;
return FALSE;
}
else
return TRUE;
};//You can store the interface pointer in a member variable
//for easier access
void CDlg::OnGetDocInterface(HWND hWnd)
{
CoInitialize( NULL ); // Explicitly load MSAA so we know if it's installed
HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
if ( hInst != NULL )
{
if ( hWnd != NULL )
{
HWND hWndChild=NULL;
// Get 1st document window
::EnumChildWindows( hWnd, EnumChildProc, (LPARAM)&hWndChild );
if ( hWndChild )
{
CComPtr<IHTMLDocument2> spDoc;
LRESULT lRes;
UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( hWndChild, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes ); LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, _T("ObjectFromLresult") );
if ( pfObjectFromLresult != NULL )
{
HRESULT hr;
hr = (*pfObjectFromLresult)( lRes, IID_IHTMLDocument, 0, (void**)&spDoc );
if ( SUCCEEDED(hr) )
{
CComPtr<IDispatch> spDisp;
CComQIPtr<IHTMLWindow2> spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document( &spDoc.p );
// Change background color to red
spDoc->put_bgColor( CComVariant("red") );
}
}
} // else document not ready
} // else Internet Explorer is not running
::FreeLibrary( hInst );
} // else Active Accessibility is not installed
CoUninitialize();
}