只需在资源文件中添加一个打包好的文件(可明文、可加密),浏览器访问时,再由aardio解包返回正确的文件内容即可。
这样在exe文件中,res资源非常干净,不用带一堆网页文件了。
godking.resHtml 、 godking.filePackage 库请自行下载。
工程文件已打包,请下载附件测试。


下面是浏览器组件访问资源文件显示网页的代码:
Code AardioLine:32复制
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.import
win
.ui;var
winform = win
.form(text="aardio form"
;right=559
;bottom=583
)- winform.add(
- custom={cls=
"custom"
;text="自定义控件"
;left=8
;top=40
;right=552
;bottom=576
;bgcolor=12639424
;border=1
;z=1
}; - static={cls=
"static"
;text="加密网页"
;left=8
;top=8
;right=104
;bottom=32
;font=LOGFONT(h=-16
);transparent=1
;z=2
} - )
import
sevenZip.lzma;import
godking.resHtml;import
web.view;var
resHtml = godking.resHtml( ,"Aardio资源网.html"
,`-
function
(html){ -
import
godking.filePackage; -
var
file = ..io
.splitpath(html).file; -
var
data = godking.filePackage.getDataFromBuffer(..string
.load("\res\htmldata"
),file); -
if
-
import
sevenZip.lzma; -
return
sevenZip.lzma.unCompress(data); - }
- }
- `,);
var
wb = web.view(winform.custom);- wb.go(resHtml.url);
- winform.show();
win
.loopMessage();
下面是我将 加密的网页文件,全部打包生成一个文件的代码:
Code AardioLine:14复制
1.2.3.4.5.6.7.8.9.10.11.12.13.14.import
godking.filePackage;var
a = godking.filePackage();import
fsys- fsys.enum(
"D:\aardio\project\aardio工程\res\aardio资源网加密\Aardio资源网_files\", "
*.*", -
function
(dir,filename,fullpath,findData){ -
if
(filename){ - a.addFile(filename,..
string
.load(fullpath)); - }
- }
- ,
- );
- a.addFile(
"Aardio资源网.html"
,..string
.load("D:\aardio\project\aardio工程\res\aardio资源网加密\Aardio资源网.html"
)); - a.saveToFile(
"C:\Users\Administrator\Desktop\htmldata"
);