C++调用JS函数

BOOL CQueryWindow::AddSelectOption(BSTR SelectId, BSTR Text)
{
	BOOL IsOk;
	IHTMLDocument2 *HtmlDoc2;

	IsOk = FALSE;
	if (SUCCEEDED(GetDHtmlDocument(&HtmlDoc2)))
	{
		IDispatch* ScriptObject;

		if (SUCCEEDED(HtmlDoc2->get_Script(&ScriptObject)))
		{
			CComDispatchDriver cdd(ScriptObject);

			cdd.Invoke2(CComBSTR(TEXT("AddOption")), &CComVariant(SelectId), &CComVariant(Text));
			ScriptObject->Release();
		}
		HtmlDoc2->Release();
	}
	return IsOk;
}

测试发现使用COleDispatchDriver会莫名其妙的崩溃

导致浏览器异常, 特此注明

你可能感兴趣的:(C++调用JS函数)