打开 FP 的 工具|宏| Visual Basic 编辑器,在 Microsoft_FrontPage 工程中插入一个新的用户窗体,并在窗体上绘制一个按钮。在 工具|引用 中选定 Microsoft Scripting Runtime 。双击按钮,并将下列代码输入 Click 过程内:
Private Sub CommandButton1_Click()
On Error Goto ErrHandle
'2/9/2006 陈炜
'定义新的编码器
Dim objEncoder As New Scripting.Encoder
'声明 FrontPage 的 HTML 文档对象
Dim objDoc As FPHTMLDocument
'声明 FrontPage 的 撤销 对象
Dim objUndo As FPHTMLUndoTransaction
'声明一个字符串类型的变量来存储网页源码
Dim strHTML As String
'将声明的 FrontPage 的 HTML 文档对象指定为当前文档
Set objDoc = ActiveDocument
'建立一个标题为 撤销 脚本加密 的撤销项目
Set objUndo = objDoc.createUndoTransaction("撤销 脚本加密")
'读取网页源码并赋值给 strHTML 变量
strHTML = objDoc.DocumentHTML
'对 strHTML 变量加密并将结果重新赋值给 strHTML 变量
strHTML = objEncoder.EncodeScriptFile(".htm", strHTML, 0, "JScript")
'将 strHTML 变量内存储的加密后的源码重新写入当前文件
objDoc.DocumentHTML = strHTML
'标记撤销项目结束(若撤销, 则从声明至此位置的操作会被撤销)
objUndo.Commit
ErrHandle:
'这里可以写错误处理
End Sub
至此,我们的工作就完成了,但需要说明的是 EncodeScriptFile 函数的使用方法:
EncodeScriptFile( strExtension As String, strStreamIn As String, nFlags As Long, strDefaultLanguage As String ) As String
strExtension 所加密的文件的扩展名,如 .htm, .vbs
strStreamIn 所加密的字符串
nFlags 可添加一些任意的选项,如命令行
strDefaultLanguage 编码的默认语言( JScript / VBScript )