IWebbrowser2中C++与JavaScript的交互调用

JS调用C++

IWebbrowser2中C++与JS交互主要处理IDispatch中的两个接口


1、GetIDsOfNames

这里主要是把需要调用JS函数给编一个号,为什么函数要编号呢?建议看看COM的原理,大概是C++实现的COM调用机制主要是用的虚函数表,但是其他的脚本语言中并没有这个玩意,其他脚本需要调用函数时,只能通过函数的ID来找到对应的函数。


那么我们就来给我们需要的函数一一编号:

函数列表的声明部分

struct _JS_FUNCTION
{
	LPCTSTR	lpName;
	DISPID	id;
	UINT	nArgcCount;
	HRESULT (CMyWebEventHandler::*FUN)(DISPID, DISPPARAMS*, VARIANT*);
};
const _JS_FUNCTION funs[]=
{	
	{ L"setAppState", DISPID_BASE+0, 4, &CMyWebEventHandler::OnGetAppState },
	{ L"OneClickInstall", DISPID_BASE+1, 5, &CMyWebEventHandler::OnOneClickInstall },
//	{ L"GetInstallState", DISPID_BASE+2, 1, &CMyWebEventHandler::OnGetInstallState },
	{ L"DownLoadFile", DISPID_BASE+2, 5, &CMyWebEventHandler::OnDownLoadFile },
	{ L"OpenSite", DI
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值