方案一:
// html & JavaScript
...
<button value="Click me" οnclick="window.navigate('app:command&arg1=1&arg2=2')" />
...
// C++: 响应 的消息函数OnBeforeNavigat2
virtual void OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel );
// C++ code goes here
方案二:
// html & javaScript
...
function CallCpp()
{
alert('start to call cpp here');
window.external.JavaScriptCallCpp('This is a test for call C++ in JavaScript');
}
<button οnclick="CallCpp()" >JavaScript访问C++代码</button>
...
// C++ code goes here
CString javaScriptName = _T("JavaScriptCallCpp");
#define DISPID_CallCppFromJs 1
// 实现IDispatch 接口
// 改写COleControlSit
// 修改App