<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>package file v0.1</title> <meta http-equiv="Content-Type" content="text/html; charset=GB2312"> <HTA:APPLICATION ID="package file v0.1" APPLICATIONNAME="package file v0.1" VERSION="0.1" SCROLL="no" INNERBORDER="no" CONTEXTMENU="yes" CAPTION="yes" ICON="no" SHOWINTASKBAR="yes" SINGLEINSTANCE="yes" SYSMENU="yes" MAXIMIZEBUTTON ="no" WINDOWSTATE="normal" NAVIGABLE="yes" /> <SCRIPT LANGUAGE="VBScript"> function transfert() dim filename filename = document.getElementById("srcFile").value if len(filename)>0 then dim oReq 'on error resume next '//创建XMLHTTP对象 set oReq = CreateObject("MSXML2.XMLHTTP") oReq.open "get","file:\\" & filename,false oReq.send ff = oReq.responseBody dim u,s,kk u = lenb(ff) redim kk(u-1) for i=0 to u-1 s = hex(ascb(midb(ff,i+1,1))) if len(s)<2 then s = "0" & s end if 'kk = kk & s kk(i) = s next make filename,join(kk,"") else document.getElementById("srcFile").focus msgbox "请选择要压缩的文件",16,"提示" end if end function function make(filename,data) dim htm,file file = mid(filename,instrrev(filename,"\")+1) htm = htm & "<html>" & vbcrlf htm = htm & "<head>" & vbcrlf htm = htm & "<title>selfdec</title>" & vbcrlf htm = htm & "<meta http-equiv=""Content-Type"" content=""text/html; charset=GB2312"">" & vbcrlf htm = htm & "<HTA:APPLICATION " & vbcrlf htm = htm & " ID=""selfdec"" " & vbcrlf htm = htm & " APPLICATIONNAME=""self"" " & vbcrlf htm = htm & " VERSION=""0.1"" " & vbcrlf htm = htm & " SCROLL=""no"" " & vbcrlf htm = htm & " INNERBORDER=""no"" " & vbcrlf htm = htm & " CONTEXTMENU=""no"" " & vbcrlf htm = htm & " CAPTION=""no"" " & vbcrlf htm = htm & " ICON=""no"" " & vbcrlf htm = htm & " SHOWINTASKBAR=""no"" " & vbcrlf htm = htm & " SINGLEINSTANCE=""yes"" "& vbcrlf htm = htm & " SYSMENU=""no"" " & vbcrlf htm = htm & " MAXIMIZEBUTTON =""no""" & vbcrlf htm = htm & " WINDOWSTATE=""normal""" & vbcrlf htm = htm & " NAVIGABLE=""yes""" & vbcrlf htm = htm & " />" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "<SCRIPT LANGUAGE=""VBScript"">" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "'//保存文件" & vbcrlf htm = htm & "function saveFile(filename,str)" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " set adodbStream = CreateObject(""ADODB"" & ""."" & ""Stream"")" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " adodbStream.Type= 1" & vbcrlf htm = htm & " adodbStream.Open" & vbcrlf htm = htm & " adodbStream.write str" & vbcrlf htm = htm & " adodbStream.SaveToFile filename,2" & vbcrlf htm = htm & " adodbStream.Close" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "end function" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "'//VB数组转变成二进制格式" & vbcrlf htm = htm & "Function MultiByteToBinary(MultiByte)" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " Dim RS, LMultiByte, Binary" & vbcrlf htm = htm & " Const adLongVarBinary = 205" & vbcrlf htm = htm & " Set RS = CreateObject(""ADODB.Recordset"")" & vbcrlf htm = htm & " LMultiByte = LenB(MultiByte)" & vbcrlf htm = htm & " If LMultiByte>0 Then" & vbcrlf htm = htm & " RS.Fields.Append ""mBinary"", adLongVarBinary, LMultiByte" & vbcrlf htm = htm & " RS.Open" & vbcrlf htm = htm & " RS.AddNew" & vbcrlf htm = htm & " RS(""mBinary"").AppendChunk MultiByte & ChrB(0)" & vbcrlf htm = htm & " RS.Update" & vbcrlf htm = htm & " Binary = RS(""mBinary"").GetChunk(LMultiByte)" & vbcrlf htm = htm & " End If" & vbcrlf htm = htm & " MultiByteToBinary = Binary" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "End Function" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "function DeleteMe()" & vbcrlf htm = htm & " " & vbcrlf htm = htm & " dim filename" & vbcrlf htm = htm & " filename = document.location.href" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " filename = mid(filename,instrrev(filename,""/"")+1)" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " Dim fso, MyFile" & vbcrlf htm = htm & " Set fso = CreateObject(""Script" & "ing.FileS" & "ystemObject"") " & vbcrlf htm = htm & " Set MyFile = fso.GetFile(filename)" & vbcrlf htm = htm & " MyFile.Delete" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "end function" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "function exec()" & vbcrlf htm = htm & " " & vbcrlf htm = htm & " '//屏蔽错误" & vbcrlf htm = htm & " 'on error resume next" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " '//改变窗体大小" & vbcrlf htm = htm & " window.resizeTo 0,0" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " dim data,t,kk,filename" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " '//得到数据" & vbcrlf htm = htm & " data = document.getElementById(""divData"").innerText" & vbcrlf htm = htm & " '//得到文件名" & vbcrlf htm = htm & " filename = document.getElementById(""divFileName"").innerText" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " '//得到数据长度" & vbcrlf htm = htm & " u = len(data)" & vbcrlf htm = htm & " " & vbcrlf htm = htm & " '//获得文件数组" & vbcrlf htm = htm & " for i=1 to u step 2" & vbcrlf htm = htm & " t = mid(data,i,2)" & vbcrlf htm = htm & " kk = kk & ChrB(clng(""&H"" & t))" & vbcrlf htm = htm & " next" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " '//转变成二进制格式" & vbcrlf htm = htm & " dataArry = MultiByteToBinary(kk)" & vbcrlf htm = htm & " " & vbcrlf htm = htm & " '//保存文件 " & vbcrlf htm = htm & " saveFile filename,dataArry" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " '//删除自己" & vbcrlf htm = htm & " DeleteMe" & vbcrlf htm = htm & "" & vbcrlf htm = htm & " '//关闭自己" & vbcrlf htm = htm & " window.opener = nothing"& vbcrlf htm = htm & " window.close" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "end function" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "<" & "/SCRIPT>" & vbcrlf htm = htm & "<" & "/head>" & vbcrlf htm = htm & "<body marginleft=0 marginright=0 onload=""exec()"">" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "<div id=""divFileName"" style=""display:none;"">" & file & "</div>" & vbcrlf htm = htm & "<div id=""divData"" style=""display:none;"">" & data & "</div>" & vbcrlf htm = htm & "" & vbcrlf htm = htm & "</body>" & vbcrlf htm = htm & "</html>" & vbcrlf dim fso,f dim this_file this_file = file & "-pf.hta" Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(this_file, 2, True) f.Write htm msgbox "生成文件" & this_file & "成功!",64,"生成" end function </SCRIPT> </head> <body marginleft=0 marginright=0 onload="window.resizeTo 389,145 "> 请选择文件:<input type=file id="srcFile" style="width:260px;"><br><br> <input type=button value=" 转换 " onclick="transfert"> <input type=button value=" 关闭 " onclick="window.close"> </body> </html>