我需要的很简单:我们有一个控制台应用程序项目。 我们希望有这样一个函数,它将打开一个只有html(基于默认系统)的html + js渲染窗口,可以读取一些默认的html + jsstring(表单string或const char *)的简单窗口。 我们希望有我们自己的apijoin默认的js api,这样当JS调用一些our.function(argument);
我们将有我们的C ++应用程序performe函数和例如cout参数。 如何在Windows上创build这样的东西?
CoCreate MSHTML com对象的HTML文档:
CComPtr spDoc; HRESULT hr = CoCreateInstance(CLSID_HTMLDocument,NULL,CLSCTX_INPROC_SERVER,IID_IHTMLDocument2,(void **)&spDoc);
做这样的事情来阅读你的HTML字符串,并使其呈现文档。
根据你所需要的回调,你可以使用COM DOM接口遍历树,然后沉入适当的DispInterfaces来获取你感兴趣的元素的事件。我会推荐这个。
如果我在#3中提出的建议不够好(我想听听为什么),那么你可以实现自己的ActiveX控件,并在你的页面上调用脚本,如raj所示。
抛开任何安全/跨浏览器/平台的担忧,您可以使用在C ++中实现ActiveX对象,您可以从JavaScript中调用该对象。
http://msdn.microsoft.com/en-us/library/7sw4ddf8(v=vs.94).aspx
WebBrowser
控件的主机可以通过external
对象提供脚本可以访问的对象。
请参阅http://msdn.microsoft.com/en-us/library/aa770041.aspx#GetExternal