hta实现的二进制文件转换为文本
所属分类:
脚本专栏 / hta
阅读数:
612
收藏 0赞 0分享
保存为.hta运行
<!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>
hta 定时关机重启实现代码
一个用于定时重启或关闭计算机的小工具,适用于Windows 2K/XP/2003
收藏 0赞 0分享
VBS脚本的GUI界面 HTA简明教程(网络搜集整理)
HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,双击就能运行,与VB、C++等程序语言所设计的软件没什么差别。
收藏 0赞 0分享
winXP下用VBS写的代码编辑器
利用VBS脚本+DHTML,主要功能由正则表达式+wmic来完成,代码需保存为HTA类型的文件,当然也可以更改为纯粹的VBS脚本,不过那样效率低多了,而且代码更复杂。
收藏 0赞 0分享
扣代码工具 hta版
需要用到 InternetExplorer.Application 对象,所以做成了HTA文件。代码如下:(不能直接运行,请下载附件运行其中的 “捕获者.hta”,或者将下面代码复制后保存到本地并以 hta 为扩展名)
收藏 0赞 0分享
用hta实现的桌面漂浮flash
用hta实现的桌面漂浮flash,效果不错,其实主要是javascript代码,大家把代码拷到网页中也一样用,ie only.
收藏 0赞 0分享
查看更多