mfc结合html做界面_MFC使用网页做界面(通过JS与webbrowser交互)

本文介绍了如何在MFC项目中使用HTML作为界面,并通过JavaScript进行交互,以替代传统的COM方式。作者分享了如何利用CWebPage类与IHTMLDocument2接口向网页注入JS函数,以及调用JS函数的方法,指出这种方式可能比直接使用COM接口更高效。虽然现代开发倾向于使用Winform、WPF或WebAPI,但此方法仍有一定的参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近修改老旧的MFC项目,用的网页做界面,和HTML交互采用的是COM方式,繁琐,丑陋又性能低下,于是考虑利用js来进行界面交互,查了一天的资料,现在整理如下,供后来需要的人参考,虽然大概几乎不会有人用MFC来做项目了(笑),用winform或者WPF或者网页做界面,高性能部分用C++封装的dll也许是更好的选择,当然直接在exe里面提供http访问接口是最吼的(go语言赛高)!界面这个是比较大的话题,可以开个专题慢慢说了。。。

核心的一个CWebPage类是一个老外写的,封装了js的COM操作,用来和webbrowser进行js调用,但是只能调用已经存在的js代码,有时需要自己向网页注入一些js函数(你懂的),你可以在一个空白页上面,用js生成整个页面。

IHTMLDocument2* pHTMLDoc = (IHTMLDocument2*)web.get_Document();if(pHTMLDoc !=NULL)

{

IHTMLWindow2*pHTMLWnd;

pHTMLDoc->get_parentWindow( &pHTMLWnd );if (pHTMLWnd !=NULL)

{

CString js_code;

js_code="function test(str){ alert(str);return str;}";//此次为实际写入的javascript代码//js_code.Format(L"goToLocation('%s');",JScode);//JS函数名+参数

VARIANT ret;<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值