有如下html文件内容:
<html><body><form>
<input type=button value='button' onclick='this.value="button_edit"' />
</form></body></html>现有以下代码片断:
CComPtr<IHTMLElement> spInputElement;
CComVariant vOnclick;
spInputElement->get_onclick(&vOnclick);
IDispatch* spdisp=vOnclick.pdispVal;
问题:
如何利用spdisp->Invoke执行此onclick函数
在下先表示感谢啦!!!
<html><body><form>
<input type=button value='button' onclick='this.value="button_edit"' />
</form></body></html>现有以下代码片断:
CComPtr<IHTMLElement> spInputElement;
CComVariant vOnclick;
spInputElement->get_onclick(&vOnclick);
IDispatch* spdisp=vOnclick.pdispVal;
问题:
如何利用spdisp->Invoke执行此onclick函数
在下先表示感谢啦!!!
解决方案 »
- 请问下各位大大怎么把阻塞的线程队列变成非阻塞的?
- unsigned char* *RxBuf To CString 的问题
- 如何让按钮点击后失效
- vc 自定义对话框作为 messagebox
- #include"MainFrm.h" 这句,要放在 view 的头文件中还是view 的.cpp 文件中?有什么区别?
- 急聘VC软件工程师
- MFC数据库编程问题!!!
- 如何程序方法实现未激活的程序激活,立即揭帖!
- cannot convert parameter 1 from 'void (int,int)' to 'void (__cdecl *)(int,int)'?
- VC 视图列表控件(CListCtrl)无法获取修改数据
- VC++访问.net WebService 返回的DataSet
- 简单问题如何画虚线,画实心圆点求源码急用..............()
{
//前提是你已经取得了IHTMLDocument2
//(1)Get Script
CComPtr<IDispatch> pScript;
hResult = m_IHTMLDocument2->get_Script(&pScript);
if(FAILED(hResult))
{
return FALSE;
} //(2)Get Javascript Function
CComBSTR pCComBSTR(strJsFunctionName_In);
DISPID pDISPID;
hResult = pScript->GetIDsOfNames(IID_NULL, &pCComBSTR, 1, LOCALE_SYSTEM_DEFAULT, &pDISPID);
if(FAILED(hResult))
{
return FALSE;
} //(3)Add Parameters
DISPPARAMS pDISPPARAMS;
memset(&pDISPPARAMS, 0, sizeof(pDISPPARAMS)); int intArgsCount_In = pArrVARIANT_Params.GetSize();
VARIANT* vParams = new VARIANT[intArgsCount_In]; for( int i = 0; i < intArgsCount_In; i++)
{
vParams[i] = pArrVARIANT_Params.GetAt(i);
} //Params Count
pDISPPARAMS.cArgs = intArgsCount_In;
//Params Array
pDISPPARAMS.rgvarg = vParams;
//Name Args Count
pDISPPARAMS.cNamedArgs = 0;
//(4)Invoke Javascript Method
EXCEPINFO pEXCEPINFO;
memset(&pEXCEPINFO, 0, sizeof(pEXCEPINFO)); CComVariant pCComVariant; //Initialize to invalid arg
UINT nintArgErr = (UINT)-1; hResult = pScript->Invoke
(pDISPID, IID_NULL, 0, DISPATCH_METHOD, &pDISPPARAMS, &pCComVariant, &pEXCEPINFO, &nintArgErr);
delete[] pDISPPARAMS.rgvarg;
pScript.Release();
if(FAILED(hResult))
{
return FALSE;
} return TRUE;
}随手写的,你拿去改改......
谢谢你!!!深夜给我回答问题
分明是从codeproject上COPY的,还好意思说什么“随手写的,拿去改改”,作呕