XMLDOM下载者生成器代码(xmldown.hta)
2014-08-12来源:易贤网

以下代码保存成hta文件,可生成js和vbs下载者

代码如下:

<HTA:APPLICATION

ID="xmldown"

Caption="yes"

SCROLL="auto"

border="none"

borderStyle="static"

SINGLEINSTANCE="yes"

maximizebutton="no"

BORDER="no"

icon="dxdiag.exe">

<script language=vbs>

Sub Window_onLoad

window.resizeTo screen.width/1.6,screen.height/3

window.moveTo 200,200

End Sub

Sub CreateXml(path,File)

Set objStream = CreateObject("ADODB.Stream")

objStream.Type = 1

objStream.Open()

objStream.LoadFromFile(Path)

objStream.position = 0

Set XmlDoc = CreateObject("Microsoft.XMLDOM")

XmlDoc.async = False

Set Root = XmlDoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")

XmlDoc.appendChild(Root)

XmlDoc.appendChild(XmlDoc.CreateElement("root"))

Set Xfile = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("file"))

Set Xstream = Xfile.AppendChild(XmlDoc.CreateElement("stream"))

Xstream.SetAttribute "xmlns:dt", "urn:schemas-microsoft-com:datatypes"

Xstream.dataType = "bin.base64"

Xstream.nodeTypedValue = objStream.Read()

XmlDoc.Save(File)

Set XmlDoc = Nothing

Set Root = Nothing

Set objStream=Nothing

End Sub

Function x(obj)

Set x=document.getElementById(obj)

End function

Function Findfile(str)

Set FSO = CreateObject("Scripting.FileSystemObject")

If FSO.FileExists(str) Then

findfile=true

Else

findfile=false

End If

End Function

Function jsdown()

Set FSO = CreateObject("Scripting.FileSystemObject")

with fso.opentextfile((CreateObject("WScript.Shell")).CurrentDirectory&"\jsdown.js",2,true)

.write x("jsdown").value

end with

end function

Function vbsdown()

Set FSO = CreateObject("Scripting.FileSystemObject")

with fso.opentextfile((CreateObject("WScript.Shell")).CurrentDirectory&"\vbsdown.vbs",2,true)

.write x("vbsdown").value

end with

end function

</script>

<body>

<h4>1.生成下载用的xml文件</h4>

选择下载的exe文件:<input type=file name="file1" id="file1" size="20">

保存路径 <input type=text name="path" id="pathname" value="c:\down.xml" size="20">

<input type="button" value="生成xml文件" onclick='vbs:CreateXml x("file1").value,x("pathname").value:If Findfile(x("pathname").value) = true Then msgbox("生成成功,请传到某个空间"):x("url").innerHTML="<font color=red>生成成功,请传到某个空间</font>"'> <br>

<h4>2.生成下载者</h4>

<button onclick='vbs:jsdown():If Findfile("jsdown.js") = true Then msgbox "生成成功":x("url").innerHTML="用法是cscript jsdown.js xmlurl savepath"' >生成js下载者</button><button onclick='vbs:vbsdown():If Findfile("vbsdown.vbs") = true Then msgbox "生成成功":x("url").innerHTML="<font color=blue>用法是cscript vbsdown.js xmlurl savepath</font>"'>生成vbs下载者</button><br><br><br><br>

<div id="url"></div>

<textarea style="visibility:hidden" name=jswodn id=jsdown rows="1" cols="1">

var objArgs = WScript.Arguments;

var objXmlFile =new ActiveXObject("Microsoft.XMLDOM");

objXmlFile.async=false;

objXmlFile.load(objArgs(0).toLowerCase());

do

{

WScript.sleep(100);

}

while (!objXmlFile.readyState == 4)

if (objXmlFile.readyState == 4)

{

var objStream = new ActiveXObject("ADODB.Stream")

var objNodeList =objXmlFile.getElementsByTagName("stream")[0].nodeTypedValue

with(objStream)

{

objStream.Type = 1;

objStream.Open();

objStream.Write(objNodeList);

objStream.SaveToFile(objArgs(1).toLowerCase(),2);

objStream.close();

}

}

delete objXmlFile;

delete objStream;

</textarea>

<textarea style="visibility:hidden" name=vbswodn id=vbsdown rows="1" cols="1">

Set objXmlFile = CreateObject("Microsoft.XMLDOM")

objXmlFile.async=false

objXmlFile.load(Wscript.arguments(0))

Do While objXmlFile.readyState<>4

wscript.sleep 100

Loop

If objXmlFile.readyState = 4 Then

Set objNodeList = objXmlFile.documentElement.selectNodes("//file/stream")

Set objStream = CreateObject("ADODB.Stream")

With objStream

.Type = 1

.Open

.Write objNodeList(0).nodeTypedvalue

.SaveToFile Wscript.arguments(1), 2

.Close

End With

Set objStream = Nothing

End If

Set objXmlFile = Nothing

</textarea>

</body>

更多信息请查看IT技术专栏

推荐信息