注册 登录
编程论坛 VC++/MFC

请教: HTML资源 怎么使用?

linan03 发布于 2013-11-22 15:42, 1321 次点击
我本来是使用HTML文件绝对路径,没问题,但是这样不好,于是改相对路径,可是会崩溃。
所以改用资源方式。

m_webBrowser是网页控件变量,DynamicDialogDemo.exe是程序名,IDR_HTML_TEST是HTML资源宏
TestHtml.html有放在res文件夹下。

使用下面两种方式  都不行,直接崩溃。
1. m_webBrowser.Navigate(_T("res://DynamicDialogDemo.exe/IDR_HTML_TEST"), NULL, NULL, NULL, NULL);
2. m_webBrowser.Navigate(_T("res://DynamicDialogDemo.exe/TestHtml.html"), NULL, NULL, NULL, NULL);
5 回复
#2
yuccn2013-11-22 17:18
res://DynamicDialogDemo.exe/IDR_HTML_TEST 肯定不行啦。
这个接口不会强大到去解析你的资源文件把

你主动把释放出来不就行了?
#3
linan032013-11-22 17:41
什么叫主动释放出来?直接使用html文件?

我用HTML文件绝对路径方式,没问题
像这样:
m_webBrowser.Navigate(_T("F:\\code\\DynamicDialogDemo\\DynamicDialogDemo\\TestHtml.html"), NULL, NULL, NULL, NULL);
可是绝对路径不能在别人的电脑上使用。
而改相对路径的话(当然,目录下肯定有这个html文件的),就是直接崩溃:
m_webBrowser.Navigate(_T("./TestHtml.html"), NULL, NULL, NULL, NULL);
m_webBrowser.Navigate(_T(".\\TestHtml.html"), NULL, NULL, NULL, NULL);
m_webBrowser.Navigate(_T("TestHtml.html"), NULL, NULL, NULL, NULL);
以上三种都不行

据说资源的方式可以,可是还没尝试出来...
求破解。
#4
yuccn2013-11-22 19:25
可以把你的那个文件和html文件作为配置文件一起打包给别的电脑使用

如果你是作为资源文件放在exe内部,那么你程序启动时候就把这个资源释放出来就行了。
如果不懂怎么释放,百度去学习一下:
FindResource
SizeofResource
LoadResource
LockResource
FreeResource
#5
linan032013-11-26 16:50
额  还是没搞明白怎么用

我的Web控件是用Navigate成员函数来加载网页的,感觉和HTML资源关联不上。

用LoadResource得到的是HGLOBA类型,再用LockResource的话得到的也是个LPVOID类型,这...不知道怎么用上啊..
#6
yuccn2013-11-27 08:00
强行转换啊,v
1