COM组件与javascript 交互问题

Com组件调用JS代码并传递多个参数个JS函数 项目中经常碰到JS与Com组件交互的问题,通过查找网络资料和项目实际需要,总结如下: 一、Com组件简单回调JS代码 JS中定义函数 function printMsg(msg1, msg2, msg3, msg4, msg5) { alert(msg1); alert(msg2); alert(msg3); alert(msg4); alert(m 阅读详情


这两天在研究COM组件与javascript交互,要访问设备,所以想用进程外COM实现。

实际调试过程中,发现javascript只能响应部分事件(IDL中定义的第一个事件),也不支持for...event形式的事件连接。

        VC2010示例中的Ploygon项目倒正常处理事件,什么原因呢? 比较了项目的定义也没发现明显的不同。

        剩下的只有进程内和外的区别了,于是创建了进程内项目测试, 结果事件响应没问题。 

        

        进程外COM的事件不能很好的响应(原因未知),看来,只好选择用进程内COM+服务来实现对设备的控制了,真的是这样吗?


        参考了论坛  http://bbs.youkuaiyun.com/topics/370096340,深受启发。


       按照 function objid::eventname  方式定义了函数,试验发现可以正常捕捉事件,OK,问题解决!


      这种用法称作Automagic ,  Automagic 是 Script Engine 提供的,而不是IE语法。

    




使用JS/VBS来测试你的COM组件         最近又看了一遍去年的这个时候所买的COM类的书籍,对COM有了更深一层的认识。记得去年的这个时候还只知道接口和对象,只知道类型标识符和接口ID,只知道...^.^      前些日子公司让我做一个控件,因为功能很简单,所以没几天就完成了。这个控件是用来在IE中使用的,所以我就把它做成了COM组件。客户在使用我的控件的时候,他们使用JavaScript来调用其中的函数,为了能 阅读详情

相关推荐

用JavaScript编写COM组件的步骤

我们通过安装Node.js和Edge.js来搭建环境,创建了COM组件的基本结构,并编写了COM组件的代码。然后,我们将COM组件注册为可调用的COM对象,并在JavaScript中调用了该组件。下面是一个简单的示例,其中COM组件定义了一个名为"HelloCOM"的对象,该对象具有一个名为"sayHello"的方法,用于输出一条问候语。确保在命令提示符或终端中导航到包含JavaScript代码的目录,并将"your_script_name.js"替换为包含调用COM组件的JavaScript文件的名称。

CgbAutoit的博客 523

开发IE下js使用的com组件,包含事件处理

很简单,将事件做成属性,并设置属性的bindable, displaybind标记。 在js下面直接将function传给这个属性,com组件里面调用这个IDispatch的函数即可。 idl文件,注意onevent1这里。 import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(6A6140E8-9356-4FBD-B0F

huyinhou 3399

在javascript函数中调用com组件的属性和方法

本文介绍了在javascript函数中调用com组件的属性和方法的技术。

JavaScript DOM 事件完全参考手册

/ 创建自定义事件});// 监听自定义事件console.log('收到自定义事件:', e.detail.message);});// 触发自定义事件。

2301_76326315的博客 1056

c++创建com组件,并且提供c#,c++,网页js等调用例子。

c++创建com组件,并且提供c#,c++,网页js等调用例子。

js调用ocx插件

js调用ocx插件

js调用vc++的函数

template struct _ATL_NAMESINK_EVENT_ENTRY {     DISPID dispid;     TCHAR* szDispIdName;     void (__stdcall T::*pfn)(); //method to invoke _ATL_FUNC_INFO* pInfo; }; #define BEGIN_NAMESINK

ckkyjtqlt的专栏 567

COM组件中调用JavaScript函数详解及实例

COM组件中调用JavaScript函数详解及实例 要求是很简单的,即有COM组件A在IE中运行,使用JavaScript(JS)调用A的方法longCalc(),该方法是一个耗时的操作,要求通知IE当前的进度。这就要求使用回调函数,设其名称为scriptCallbackFunc。实现这个技术很简单: 1 、组件方(C++) 组件A 的方法在IDL中定义: [id(2)] HRESULT longCalc([in] DOUBLE v1, [in] DOUBLE v2, [in, optional] VARIANT scriptCallback); 组件A的方法实现: // 假设回调原型为

JavaScript怎样使用COM组件的事件

JavaScript怎样使用COM组件的事件 Author:zfive5(zidong) Email: zfive5@yahoo.com.cn 引子 前些天客户有反应,系统里做的单据莫明没有了,经过代码翻找,大概原因就是异构系统的数据完成性的设计在某些情况下误判,其中如果当然一张成功确认一张,那就不会有这样的问题了。 设计 最初的设计对话脚本如下: 甲: “老大呀,要生成100张单据B ...

zhangziyueup 305

python制作图形化小游戏_创意编程|Python的GUI简易界面设计测测你的反应力

Python的GUI简易界面设计案例测测你的反应力作为初次接触代码编程的你,是不是觉得Python程序除了“码”就是“字”即使是有趣的程序除了烧烧自己的脑,也吸引不到更多人的兴趣,用户体验值接近于0?那你可冤枉了Python,他可是人工智能界的编程语言大咖。今天这个游戏设计就先带领大家,简单体验一下,如何让Python程序图形化。一起来吧!设计我们的小游戏游戏设计思路:电脑随机出...

weixin_34214135的博客 1871

Fluent 2.5D动网格重构实战:涡旋压缩机复杂运动模拟指南

本文详细解析了Fluent 2.5D动网格重构技术在涡旋压缩机复杂运动模拟中的应用。通过对比传统方法,2.5D重构显著提升了计算效率和稳定性,特别适用于柱体类几何的网格处理。文章提供了从基础配置到参数优化的实战指南,包括关键设置步骤、常见问题排查及性能优化策略,帮助工程师有效解决动网格重构中的负体积和网格畸变问题。

weixin_28455801的博客 549

使用javascript调用com组件

<html> <head> <title> 调用com组件的方法示例 </title> <script language="javascript"> var myCom=new ActiveXObject("tools.ini.1") myCom.myFun() ...

aaa407217484的博客 508

C语言手写HTTPD网站服务器

零基础手写C语言http网站服务器,快速入门C/C++后端开发、服务器开发。

程序员Rock的博客 1万+

php调用js并传入参数,Com组件调用JS代码并传递多个参数个JS函数

项目中经常碰到JS与Com组件交互的问题,通过查找网络资料和项目实际需要,总结如下:一、Com组件简单回调JS代码JS中定义函数[javascript]function printMsg(msg1, msg2, msg3, msg4, msg5) {alert(msg1);alert(msg2);alert(msg3);alert(msg4);alert(msg5);}Com组件中定义函数接口,以...

weixin_32522079的博客 502

从零开始解析N-CMAPSS数据集:航空发动机健康管理的入门指南

本文详细解析了N-CMAPSS数据集在航空发动机健康管理中的应用,从数据集的构成、关键变量到实际数据分析方法,为初学者提供了全面的入门指南。通过Python代码示例,展示了如何加载、探索和建模这一复杂数据集,帮助读者掌握航空发动机性能预测的核心技术。

weixin_29063979的博客 319

51单片机+HX711电子秤Proteus仿真保姆级教程(附完整源码与避坑指南)

本文详细介绍了51单片机与HX711电子秤在Proteus仿真中的全流程实战指南,包括电路设计、核心代码实现、典型问题排查及系统集成等关键步骤。特别提供了HX711驱动程序的编写技巧和称重数据处理算法,帮助开发者快速搭建高精度电子秤仿真系统,并避免常见的设计陷阱。

weixin_30752699的博客 413

CEF3开发者系列之外篇——IE中JS与C++交互

转载:https://www.cnblogs.com/guolixiucai/category/732385.html  使用IE内核开发客户端产品,系统和前端页面之间的交互,通常给开发和维护带来很大的便利性。但操作系统和前端之间的交互却是比较复杂的。具体来说就是脚本语言和编译语言的交互。在IE内核中html和css虽然不兼容,但是IE编程接口是完全一样的,这得益于微软的COM组件的结构化设计和...

weixin_30838873的博客 210

Isaac Lab & GR00T N1 入门教程(七)人形机器人推理与技能学习策略基准测试

本文介绍了IsaacLab设计的工业机器人操作评估系统,包含两项任务:螺母倾倒(成功率91%)和排气管分拣(成功率95%)。系统支持通过IsaacGR00TN1模型进行策略闭环评估,提供完整的开发环境配置指南(需Ubuntu22.04、CUDA12.8等环境),数据集下载方式(HuggingFace平台托管),以及模型微调流程。评估支持并行化测试(建议10-30个并行环境),并给出详细硬件配置建议(推荐RTX A6000 Ada显卡)。文档还包含常见问题解决方案,特别说明当前暂不支持Blackwell GP

2506_90492529的博客 1118

如何在C#中调用Javascript脚本

需要注意的是,为了能够在.NET框架中调用JavaScript代码,必须先将JavaScript代码转换为.NET可执行代码。需要注意的是,在使用Interop技术调用JavaScript时,需要确保两种语言之间类型的兼容性。通过将JavaScript代码编译成.NET程序集,然后在C#中引用该程序集来调用JavaScript代码。在C#中,可以使用COM组件或.NET框架的Interop技术来调用JavaScript代码。然后,在C#中创建一个类型库,并通过Interop技术来引用该类型库和COM组件。

大佬的博客 3777

国产上位机软件突围:适配统信UOS/麒麟OS的跨平台开发技术与实践(2026年信创实战指南)

(航天科技集团CTO):“在信创战场上,1ms的延迟意味着1个卫星的控制失效。2026年,C#/.NET MAUI不是选择,而是我们守护卫星的‘生命线’。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 408

SpringBoot 系列教程(十二):给大家推荐20个SpringBoot开源项目,私活必备

基于 SpringBoot2.x + Shiro 实现了用户管理、个人微信、支付宝支付,内置扫码支付、后台回调、订单查询、限流等一系列功能

Thinkingcao的专栏 2839

C# winform 对 COM 组件的调用

我在c#中嵌入chrome的浏览器内核,但是执行javaScript方法时,报错: C# winform 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 请问怎么解决?

程旭清的博客 1041

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

js通过window.external调用delphi的返回值类型问题解决方案,不解的COM问题

js通过window.external调用delphi的返回值类型问题解决方案,不解的COM问题

weixin_46020146的博客 139

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【亲测免费】 node-activex 项目常见问题解决方案

node-activex 项目常见问题解决方案 项目基础介绍 node-activex 是一个 Node.js 实现 ActiveXObject 的项目。它允许在 Node.js 环境中使用 ActiveX 对象,从而实现与 Windows 系统中的 COM 组件的交互。该项目主要使用 C++ 和 JavaScript 进行开发,利用 Node.js 的 addon 机制来实现对 COM 组件的封...

gitblog_00905的博客 969

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC与JavaScript交互(一) ———— 如何实现

为什么要让VC与JavaScript交互? 在Windows平台上用VC开发的程序,如何与JavaScript交互? 关于WebBrowser: 关于IDispatch: 说了这么多COM对象,和VC调用JS有什么关系?

软件架构农 2万+
上一篇: PMTU 黑洞路由器
下一篇: 进程外COM组件的单实例化和Register-free
FlySpace
博客等级 码龄27年 17粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值