Mfc web浏览器ActiveX控件的实现

Mfc web浏览器ActiveX控件的实现,mfc,activex,serial-port,atl,bho,Mfc,Activex,Serial Port,Atl,Bho,我的要求是开发一个ActiveX控件,它可以将字节流发送到串行端口。ActiveX控件应该只公开一个函数,如 SendData(char* data, int nLen, int nPort) 这个函数应该能够通过按下在Internet Explorer中呈现的java开发的按钮(32位和64位)来调用。我不知道是应该使用MFC/ATL还是浏览器帮助对象使用无窗口ActiveX控件。将来我可能还需要支持Firefox 任何帮助都将不胜感激。尽管BHO可以工作,ActiveX将更好地满足您的要求

我的要求是开发一个ActiveX控件,它可以将字节流发送到串行端口。ActiveX控件应该只公开一个函数,如

SendData(char* data, int nLen, int nPort)
这个函数应该能够通过按下在Internet Explorer中呈现的java开发的按钮(32位和64位)来调用。我不知道是应该使用MFC/ATL还是浏览器帮助对象使用无窗口ActiveX控件。将来我可能还需要支持Firefox


任何帮助都将不胜感激。

尽管BHO可以工作,ActiveX将更好地满足您的要求。BHO与ActiveX非常相似——它们都是在浏览器窗口中运行的本机代码或托管代码。不同之处在于,BHO可用于所有页面(在创建浏览器选项卡时实例化),而非BHO的ActiveX则在页面中的某些Javascript代码创建时实例化(或使用标记)。ActiveX的生命周期为页面

ATL是一个更好的选择。使用VS向导,在proc server中创建一个基于ATL的COM。然后添加一个COM对象。由于要从HTML调用它,请确保它是一个双接口(即从IDispatch派生)。将您想要的方法添加到IDL文件中。在COM中,字符串参数的调用约定是BSTR,数组的标准约定是SAFEARRAY。您计划如何从Javascript代码调用该方法


取决于你想如何从HTML页面实例化你的对象。你可以有一个我尝试过创建MFC ActiveX控件,但问题是当我尝试在MFC对话框中加载它来测试它时,我得到了控件的图像。我只是不想创建一个控件,而是一个可以调用的dll。我不知道从哪里开始。我已经创建了ATL现在我想在用户打开网页并安装它时下载它。可以这样做吗?有什么必要的工具来创建setup@Jeeva,有几种方法可以实现您想要的。一种方法是使用一个具有codebase属性的元素,该元素指向可以从中下载CAB文件的URL使用makecab.exe或cabarc.exe实用程序创建CAB文件,或在Visual Studio中创建新的安装项目。还有其他方法:我的收藏夹-在网页上检测是否安装了ActiveX。如果未安装ActiveX,请将用户重定向到专用的安装页,在该页上他可以下载MSI,并提供如何设置ActiveX的说明惹恼