在页面上调用大概是以下几个步骤:
1、创建activex工程,编写C++代码。
2、将代码编译成.OCX文件,并拷贝到system32文件夹下,如果没有C++运行环境,需要将需要的.dll文件同时拷贝到system32下(可以为其他指定目录,但是这些文件需要在同一个路径下)。
3、在命令行输入 regsvr32 filename.ocx,会提示控件注册成功,如果不要提示信息,则在regsvr32后加/s,去除注册不提示信息则加/u,前后用逗号隔开。
4、在页面上加载控件,并调用。
HTML页面代码如下:
<html>
<OBJECT ID="TEST" CLASSID="CLSID:EDCADBD5-D95E-4BBB-A1EE-8DB87F9CDA63" > (I)
<PARAM NAME=”PARAM1” VALUE=”VALUE1”>
<PARAM NAME=”PARAM2” VALUE=”VALUE2”>
<SPAN STYLE="color:red">ActiveX 控件装入失败! - 请检查是否安装com控件和浏览器的安全设置。</SPAN>
</OBJECT>
<script>
function test(msg) {
TEST.sendMsg(msg); // (II)
}
</script>
<body>
<p>
<input type="button" value="test" name="test" onclick="test('this is a test message!')">
</p>
</body>
</html>
(I)中的OBJ ID应该和(II)中的控件对象名一样,其中EDCADBD5-D95E-4BBB-A1EE-8DB87F9CDA63为建立C++项目时自动生成的注册号(8位-4位-4位-4位-12位)。
【参考文章:http://zhaol123.iteye.com/blog/202578】有改动!
ActiveX的编写可参考:http://www.cnblogs.com/beer/archive/2010/08/21/1805462.html
分享到:
相关推荐
JavaScript 调用 C++ 生成的 DLL,DLL 使用 ATL 封装的 ActiveX 控件,仅支持 IE 浏览器。 本文档是对工程实现时的每一个步骤进行描述,大量截图,非常详细。 完整工程代码路径:...
JavaScript 调用 C++ 生成的 DLL,DLL 使用 ATL 封装的 ActiveX 控件,仅支持 IE 浏览器。 本资源为整套工程,编译 ATL_API 后,在Debug/Release目录下,使用 IE 打开TestJavaScript.html,点击“Add”按钮查看结果...
总结,JavaScript调用C++函数涉及到语言间通信的复杂性,但通过ActiveX控件、NPAPI插件或现代的WebAssembly技术,我们可以实现这种交互。在MFC环境下,ActiveX控件是最常见的解决方案,它提供了在JavaScript和C++...
- 在 Web 浏览器环境中,JavaScript 可以通过 ActiveX 控件或者使用 WebAssembly 直接调用 C++ 编写的代码。ActiveX 是 Microsoft 提供的一种技术,允许创建具有特定功能的控件,这些控件可以被 JavaScript 调用...
JavaScript调用C++通常依赖于一些库或框架,如Emscripten,它是一个LLVM到JavaScript的编译器,可以将C/C++代码编译成WebAssembly,然后在浏览器中运行。另一个常见的方式是使用ChakraCore,Microsoft的JavaScript...
当JavaScript调用`sendDataToCpp`时,`OnMyCppFunction`会在C++端被触发,传递的数据可以在`data`参数中获取。 3. **事件驱动交互**: 除了以上方法,还可以通过HTML元素的事件和C++的事件处理程序进行交互。在...
本篇将详细讲解如何利用MFC中的WebBrowser控件实现C++与JavaScript之间的数据交互传递。 首先,WebBrowser控件是MFC提供的一个ActiveX控件,它允许应用程序嵌入Internet Explorer引擎,从而在桌面应用中浏览网页、...
7. **文件`Win32CallWeb.zip`**:这个压缩包可能包含了一个示例项目,包括C++的ActiveX控件实现、JavaScript调用的接口定义,以及相关的配置和编译文件。解压并分析这个项目,可以深入理解上述概念的实际应用。 ...
CEF3提供了JavaScript绑定机制,使得C++函数和对象可以暴露给JavaScript代码调用。这种双向通信允许开发者在Web界面中利用JavaScript的动态性和易用性,同时利用C++的强大性能和类型安全。 **源码结构分析** 根据...
在 VS2010 中开发和使用 OCX 控件需要遵循一定的步骤,本文将详细介绍如何在 VS2010 中开发和使用 OCX 控件,并说明 JavaScript 如何调用 OCX 控件方法。 一、OCX 简介 OCX 控件是一种 ActiveX 控件,能够在多种...
总的来说,C++ Builder调用JavaScript既可以通过直接与JavaScript引擎交互,如V8,也可以通过WebBrowser控件间接调用。这两种方法都有其优缺点,具体选择取决于项目需求,如性能、兼容性、复杂度等因素。通过熟练...
这个中间层需要实现COM接口,以便Silverlight可以通过JavaScript调用。 3. **JavaScript接口**:在Web页面中,创建一个JavaScript函数来调用托管代码,进而触发对OCX控件的操作。 Silverlight应用可以使用`...
1. **JavaScript与C++交互**:源码可能涉及到使用JavaScript调用C++编写的动态链接库(DLL)或者ActiveX控件,通过跨语言通信来实现复制粘贴功能。 2. **C++控件开发**:开发C++控件涉及对COM接口的理解,以及如何...
1. IDispatch接口:这是JavaScript调用C++的基础。WebBrowser控件会将宿主对象暴露为IDispatch接口,JS可以通过这个接口调用宿主对象的成员方法和属性。首先,你需要在C++中定义一个支持IDispatch的COM对象,然后将...
总的来说,JS调用OCX控件并响应回调是一项涉及浏览器、JavaScript、ActiveX和C++编程的技术,主要用于实现Web与本地系统的深度交互。虽然现代Web开发倾向于使用更安全的Web API和框架,但在一些遗留系统中,这种技术...
在VS2005中开发OCX控件,开发者会利用MFC(Microsoft Foundation Classes)库,这是一个面向对象的C++库,为Windows应用程序提供支持。开发者会定义控件的类,实现所需的功能,并将编译结果打包为OCX文件。 压缩包...
开发者需要在ATL控件中实现一些特定的方法和属性,这些方法和属性可以通过JavaScript调用来实现跨语言的通信。 在ATL控件中,我们可以创建一个或多个接口,这些接口暴露给JavaScript使用。例如,我们可以创建一个`...
2. **脚本交互**:在HTML页面中,可以通过JavaScript与ActiveX控件交互,调用其方法和访问属性。 3. **事件处理**:控件可触发事件,网页通过事件处理函数响应这些事件。 4. **跨域问题**:出于安全考虑,不同域名下...
4. **JavaScript调用C++方法**:在JavaScript代码中,使用`window.external`对象来访问ActiveX控件的方法和属性。例如,`window.external.MyCPlusPlusFunction()`会调用C++中的`MyCPlusPlusFunction`。 5. **C++...