2 snrrk1184 snrrk1184 于 2015.05.28 10:50 提问

Activex如何在网页中插入一段Js

基于ATL模板,如何插入JS。下面是已经写的部分代码,在这基础上怎么加呢?
CComPtr isp;
CComPtr ppBrowser;
CComPtr pDispDoc;
CComPtr pDocument2;
HRESULT hr = S_OK;
DISPID dispid;
CComVariant avarParams[1];
avarParams[0].vt = VT_UI1;
DISPPARAMS dispparams = {avarParams, NULL, 1, 0};
EXCEPINFO excepInfo;
memset(&excepInfo, 0, sizeof excepInfo);
CComVariant vaResult;
UINT nArgErr = (UINT)-1;// initialize to invalid arg

//获取站点
LPOLECLIENTSITE spClientSite = COleControl::GetClientSite(); 
if ( FAILED(hr))
{
    MessageBox("COleControl::GetClientSite();错误"); 
    return;
}

//获取服务提供者
hr = spClientSite->QueryInterface(IID_IServiceProvider,reinterpret_cast<void **>(&isp));  
if(FAILED(hr))
{
    MessageBox("QueryInterface;错误"); 
    return;
}

//获取IE控件
hr = isp->QueryService(IID_IWebBrowserApp,   IID_IWebBrowser2,   reinterpret_cast<void **>(&ppBrowser));  
if ( FAILED(hr) )
{
    MessageBox("QueryService;错误"); 
    return;
}

//获取当前页面对象
hr = ppBrowser->get_Document(&pDispDoc);  
if(FAILED(hr))   
{
    MessageBox("QueryService;错误");
    return;
}

//获取页面内容
hr = pDispDoc->QueryInterface(IID_IHTMLDocument2 ,reinterpret_cast<void **>(&pDocument2));
if(FAILED(hr))
{
    MessageBox("QueryInterface;错误");
    return;
}

2个回答

u012377333
u012377333   Rxr 2015.05.28 19:02

不明白你想问的问题是什么,要在ActiveX里面添加js么?

snrrk1184
snrrk1184   2015.05.29 09:11

是想用ActiveX把一段JS代码添加到当前页面中

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!