(求助)进程外COM如何发送事件给JS

kkkccclll1 2011-07-29 04:30:05
加精
说在前面:
1. 现手上的项目需要通过COM实现IE跨进程调用DLL,COM主要是一个中转,用的是VS2010.。通过AppWizard很容易就能搞出一个具有自动化的COM程序(exe)出来,JavaScript也很简单的就可以调用COM里定义好的Dispatch接口。。然后接口再调用底层的DLL完成具体的处理。
2. 本人不懂COM。。。。。。

问题:需要实现COM调用JS里的定义的方法。

我知道.ocx控件可以作为一个OBJECT嵌入到IE里,然后通过事件FireEvent发到JS,实现与JS的交互。。。但是在COM程序里应该怎么做呢?然后JS里需要写什么样的代码才能顺利响应到COM抛出的事件?

各位大侠帮下忙啊,感谢啦!
...全文
1196 58 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp221422 2011-08-07
  • 打赏
  • 举报
回复
求浆糊贴下firefox关于重载的资料
许文君 2011-08-06
  • 打赏
  • 举报
回复
求浆糊贴下firefox关于重载的资料
lqofnje 2011-08-04
  • 打赏
  • 举报
回复
挺火大的,下载个东西
BennieZ 2011-08-04
  • 打赏
  • 举报
回复
取分下载。需要容器,和脚本引擎的交互。
YoungAbner 2011-08-04
  • 打赏
  • 举报
回复
没分了 过来取分
溪源More 2011-08-03
  • 打赏
  • 举报
回复
我只会.net,是不是可以模拟一个webservice,并通过TCP通道,获取到com的值,然后再通过这个webservice将值传给js?

华亭真人 2011-08-03
  • 打赏
  • 举报
回复
比如在JS里写了一个:

function test(s){
alert(s);

var obj = new ActiveXObject ("A.B");
obj.SetWindow(window);
}

那么在C++就可以直接调用JS的这个函数了
IHTMLWindow2->execScript(CComBSTR("test(555)"), CComBSTR(L"javascript"), &vt);
华亭真人 2011-08-03
  • 打赏
  • 举报
回复
第一步。 拿到window的指针


STDMETHODIMP CXXX::SetWindow(VARIANT vtWindow)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
if(vtWindow.vt != VT_DISPATCH)
{
return S_FALSE;
}
CoInitialize(NULL);
vtWindow.pdispVal->QueryInterface(IID_IHTMLWindow2, (void**)&iw);
return S_OK;
}


第二步, 使用IHtmlWindow2 执行JS


VARIANT vt;
if(iw)
iw->execScript(CComBSTR(s), CComBSTR(L"javascript"), &vt);

wondershare 2011-08-01
  • 打赏
  • 举报
回复
虽然看不懂,先Mark,以后再学习!
zack_hoo 2011-08-01
  • 打赏
  • 举报
回复
好贴就是得顶!
laowang2 2011-08-01
  • 打赏
  • 举报
回复
踩个脚印。
aavv778899 2011-08-01
  • 打赏
  • 举报
回复
同样想了解,帮顶...
fly4free 2011-08-01
  • 打赏
  • 举报
回复
加一下关注。呵呵。
kkkccclll1 2011-08-01
  • 打赏
  • 举报
回复
看了一下书,再参照之前找的那篇文章。。。再加上maquan对JS的指教。。。终于弄出来了。。

但是COM那部分没有完全弄明白。。。先这样了。。。结贴送分了。

谢谢各位。
aydf1 2011-07-31
  • 打赏
  • 举报
回复
接分了
zhan7505201 2011-07-31
  • 打赏
  • 举报
回复
了解。
m15152856083 2011-07-31
  • 打赏
  • 举报
回复
bdbvbvbvc
deutschlandchina 2011-07-31
  • 打赏
  • 举报
回复
学习了 , thanks
gmy0828 2011-07-31
  • 打赏
  • 举报
回复
我怎么看不懂啊! 不过在继续学习中 跟进~~~ing
kkkccclll1 2011-07-31
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 maquan 的回复:]

引用 31 楼 liangjingzhan 的回复:
这个.....都变成讨论JS了.....
不错..学习了个JS的东西....
不过...我的问题还是没有解决啊......汗

一个问题的两个方面:COM 里面如何实现 event source,JS 里面如何挂接 event handler。

现在,JS 这面已经没问题了。那么,你实现 IConnectionPointCon……
[/Quote]

问题是不知道上头有没有耐心....坑爹的项目...人手少,技术又没用过
算了...还是自己动手靠谱....要个Demo也没有.
加载更多回复(34)

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧