求高人:MFC中不使用WebBrowser如何调用JS文件里的函数

狐独者 2013-10-23 06:55:57
我本人会用WebBrowser控件加载页面并调用其中的Js函数。
但是我的MFC工程是没有界面的,我想出两种方案:
一、
不使用WebBrowser控件的情况下怎样调用js文件里的函数?
二、
在我需要的时候动态创建一个WebBrowser控件出来,使用之后再释放。
可我不知道如何动态创建WebBrowser控件,我只会先在对话框资源里插入WebBrowser控件,
并为其关联一个变量,然后在程序里使用。
...全文
298 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
狐独者 2013-11-19
  • 打赏
  • 举报
回复
最终没有动态创建。 我使用MFC的DLL,在里面使用了对话框资源,对话框上插入了WebBrowser控件, 创建用户界面线程。虽然很麻烦,但总算解决了临时的问题。 还是要感谢高人的回复。如果能给点代码示例就好了。
狐独者 2013-10-28
  • 打赏
  • 举报
回复
感谢高人指教,在下试试看
encoderlee 2013-10-26
  • 打赏
  • 举报
回复
另外,程序启动时别忘了调用AfxOleInit()(MFC项目中)或OleInitialize(NULL) 初始化COM库
encoderlee 2013-10-26
  • 打赏
  • 举报
回复
楼上说的很对。 对于问题一: 可以使用第三方组件/库来解释执行JS函数。 但是不推荐,动态创建WebBrowser更简单方便。 对于问题二: 用CoCreateInstance创建。 例:

//使用ATL智能指针
CComPtr<IWebBrowser2> spWebBro;
spWebBro.CoCreateInstance(CLSID_WebBrowser);

//不使用ATL智能指针
IWebBrowser2 *pWebBro = NULL;
::CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_SERVER, IID_IWebBrowser2, (void**)&pWebBro);
skyxie 2013-10-25
  • 打赏
  • 举报
回复
1) 调用 Active Scripting Interfaces,可参考 http://stackoverflow.com/questions/16846386/run-javascript-function-from-c-without-mfc 2) CoCreateInstance(CLSID_WebBrowser,....
狐独者 2013-10-24
  • 打赏
  • 举报
回复
求高人显一显身吧

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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