IWebBrowser2打开的htm中js(或者windowexternal)怎么调用C++函数?非同一般js调用C++问题
佚名通过本文主要向大家介绍了
IWebBrowser2打开的htm中js(或者windowexternal)怎么调用C++函数?非同一般js调用C++问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: IWebBrowser2打开的htm中js(或者windowexternal)怎么调用C++函数?非同一般js调用C++问题
描述:
test.htm中
描述:
用得DirectUI做界面,
打开网页
CActiveXUI* pActiveXUI1 = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ie")));
if( pActiveXUI1 ) {
IWebBrowser2* pWebBrowser1 = NULL;
pActiveXUI1->GetControl(IID_IWebBrowser2, (void**)&pWebBrowser1);
if( pWebBrowser1 != NULL ) {
pWebBrowser1->Navigate(L"test.htm",NULL,NULL,NULL,NULL);
//pWebBrowser->Navigate(L"about:blank",NULL,NULL,NULL,NULL);
pWebBrowser1->Release();
}
}
test.htm中
解决方案3:
<input id="button" type="button" value="点击调用客户端的CppCall函数" >HRESULT IHTMLElement::get_onclick(VARIANT *p);
HRESULT IHTMLElement::put_onclick(VARIANT v);
参考mfc的做法。
mfc向导支持生成html界面的对话框。
里面有点html上的按钮,然后调用C++的函数的功能。
html文件:
<HTML>
<HEAD>
<TITLE>New Page</TITLE>
<script language="javascript">
function doTest()
{
FuckATL1. CppCall();
}
</script>
</HEAD>
<BODY>
<OBJECT ID="FuckATL1" CLASSID="CLSID:19CE2D6B-DE5E-4343-9F9B-
D37053304AC2">
</OBJECT>
<input type="button" value="测试加法" id="btnOK" />
();"></input>
</BODY>
</HTML>
只知道调用组件函数,没了解过调用C++函数