仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 570|回复: 8
打印 上一主题 下一主题

[学习教程] ASP编程:诳言Windows Script Host编程

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。window|编程  1.弁言

  WSH的全称是WindowsScriptHost,是一种撑持ActiveX(COM)的自力剧本言语。WSH剧本程序原本是为了替换DOS时期的批处置文件而发生的,厥后因为WSH的使用很普遍,已不但是范围于批处置的替换品了。从Windows98入手下手,操纵体系就已自带了WSH,因而在Windows98或以上的操纵体系中,能够不安装任何软件就可以间接利用WSH。Microsoft的主页上有最新版的WSH供下载,今朝的版本是5.6,有效于Windows9X与Windows2000/XP的两种版本,每种版本的安装文件均不凌驾1M。

  2.WSH剧本文件的基础观点

  2.1WSH剧本文件范例

  WSH可使用VBscript与Jscript,即便用的剧本言语与网页剧本是一样的。WSH文件的扩大名为vbs及js,分离用VBscript与Jscript作为编程剧本言语。另有一种剧本文件的扩大名是wsf,它是一种包括XML的文件,wsf文件中能够同时包括VBscript与Jscript两种言语。wsf文件中,可使用多种剧本,必要一些XML标签来声明的,最基础的就是用<script>标签申明剧本的范例,别的最外层要用<job>标签声明义务。上面就是一个最复杂的wsf剧本的框架例子:

<package><job>
<scriptlanguage="VBscript">
wscript.Echo"这是VBscript"vb剧本
</script>
<scriptlanguage="jscript">
wscript.Echo("这是jscript");//java剧本
</script>
</job></package>
  而vbs与js文件就不必任何分外的内容,间接写VBscript及Jscript语句便可。

  2.2WSH剧本文件的运转:

  下面所讲的3种wsh文件都能够间接在Windows中双击运转,他们联系关系的实行文件是wscript.exe文件。别的实行剧本的程序另有一个,它是cscript.exe,是一个能够在DOS下运转的程序。固然DOS下运转的程序与Windows的年夜部分功效是不异的,只是略微有点分歧,好像样是Wscript.Echo输入语句,wscript.exe的了局是以窗口体例显现,而cscript.exe是以尺度把持台体例输入,并能够举行DOS改向。

  别的运转WSH剧本时也撑持文件的拖放操纵。详细的操纵步骤是:选中多少个文件,把它们拖到包括上面剧本的文件,那末上面vbs剧本就会实行,并猎取拖过去的文件名,把它们显现出来:

Setobjargs=Wscript.Arguments
Fori=0toobjargs.count-1
Wscript.Echoobjargs(i)
Next
  2.3WSH的次要工具

  WSH的剧本不撑持API功效,WSH除供应多少剧本言语外,还供应了一些编程可使用的工具,使用这些工具,能够便利地举行一些剧本言语自己不具有的功效,如体系、收集等操纵。

  2.3.1Wscript工具

  Wscript工具是WSH自己具有的工具,在剧本中不必要创建,能够间接利用。它的最经常使用的一个办法CreateObject,用于创立一个COM工具,能够挪用其他COM程序。WSH的Echo办法、Quit办法、Sleep办法,和Path属性、ScriptFullName属性都能够在剧本中利用,为剧本的编写供应便利。

  2.3.2WshShell工具

  WshShell工具是WSH供应的最有效的一个工具,有很多体系功效平常只能用API体例才干完成,用WshShell的办法便可复杂地完成。它可用Wscript.Createobject(“wscript.shell”)办法创建。其经常使用办法与属性有:CreateShortcut办法用于创立一个快速体例或URL快速体例;Run办法用于实行程序,功效比VB的Shell命令功效要强,能够间接翻开联系关系文件、文件夹、网页等;RegDelete/RegRead/RegWrite办法是对注册表项的删除、读取与写进,长短常有效的;SendKeys办法将指定的按键序列送至举动窗口;SpecialFolders属性前往特别的文件夹名,如桌面、我的文档等。

  2.3.3WshNetwork工具

  WshNetwork工具次要触及收集及打印机方面的功效,其次要办法与属性有:创建或删除收集打印机的毗连,映照及删除收集驱动器,列举收集驱动器及收集打印机等办法。

  2.3.4WshShortcut/WshUrlShortcut工具:

  WshShortcut/WshUrlShortcut工具其实不能由Createobject办法来发生,而是由WshShell的CreateShortcut办法创建。先设置快速体例的相干属性,再用Save办法创建便可。

  2.3.5FSO工具:

  FSO是FileSystemObject的缩写,它供应磁盘、文件夹及文件的有关操纵,是由WScript.CreateObject("Scripting.FileSystemObject")发生。FSO工具关于利用过静态网页制造的人是不生疏的,背景程序关于文件操纵基础上都是用FSO来完成的。因为VBscript剧本言语是VB言语的一个浅易版,往失落了VB的一些功效,个中一切的文件功效都往失落了,以是剧本中只能用COM的办法挪用FSO工具来办理文件夹及文件的一些操纵。从严厉意义下去讲,FSO工具不是WSH所带的,而是VBscript所带的,但因为WSH自己带了VBscript,并且FSO在WSH的感化十分年夜,以是说WSH带了FSO也何尝不成。但因为先容FSO的文章良多了,以是这里就不再对它举行细述了。

  2.3.6挪用别的工具:

  WSH是能够挪用别的的COM工具的,以是只需呆板上已安装的软件,并供应COM服务器体例的,都能够在WSH中挪用。包含ODBC数据库操纵工具、各类EXE体例的工具等,如能够间接操纵Word的“Word.Application”工具。即WSH能利用的工具就是无量的了。

  2.4WSH文件的编纂

  因为WSH文件是一个纯文本文件,从实际上讲,能够用任何的文本编纂器都可举行编纂。但因为如今一些网页制造软件都为一些剧本程序供应属性及办法的智能提醒功效,以是选择一些如许的工具会便利很多的。个中微软的VisualInterDev是不错的选择,究竟它与WSH都是微软的产物,相互共同对照好。固然若输出是按网页的体例举行,最初大概要往失落一些HTML标签。
<P>  2.5剧本示例

  上面是一个软件安装的剧本例子,它完成文件复制、在桌面创建快速体例、修正注册表设置主动启动的功效。程序中有具体的正文,有VB基本的都可以看分明的。完成某软件的安装,只必要把上面的程序保留成一个VBS文件,与要安装的文件放在统一目次下,在必要安装的呆板上间接双击就能够安装了。

创建两个工具:
Setowsh=wscript.CreateObject("WSCript.Shell")
Setofso=wscript.CreateObject("Scripting.FileSystemObject")
提醒方针文件夹
cdest=InputBox("要安装的方针文件夹:","安装","c:xxx")
剧本地点文件夹为源文件夹:
cSrc=ofso.GetFile(wscript.scriptfullname).ParentFolder
复制文件到方针文件夹:
ofso.copyfilecSrc&"*.*",cDest
在桌面创建快速体例:
cDesktop=owsh.specialFolders("desktop")桌面文件夹
Setolink=owsh.createshortcut_
(cDesktop&"xx办理体系.lnk")创建快速体例工具
olink.targetPath=cDest&"xx.exe"方针文件
olink.WindowStyle=1运转体例:惯例窗口
olink.hotkey="CTRL+SHIFT+F"热键
olink.Workingdirectory=cDesktop事情目次
olink.save天生快速文件
把程序写进注册表的主动运转项中,让程序开机时主动运转
cReg="HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun"
owsh.regwritecReg,cDest&"xx.exe"文件写进主动运转注册表项
Msgbox"程序安装完成"
  2.6剧本文件的加密

  因为剧本文件是纯文本文件,以是任何人不必任何工具都能够间接检察代码。与网页文件加密一样,WSH剧本文件也能够用微软供应的剧本编码器举行加密编码。编码器screnc可间接收费下载安装,它是一个命令行体例的软件,vbs与js文件分离编码加密成vbe与je文件,此类文件也能够间接双击运转,编码后的代码固然仍是文本文件,但内里的内容已打乱了。编码后的文件还具有不成修正性,只需对它举行修正,即便只修正了1个字节,全部剧本就不克不及利用了。固然编码器能够打乱代码,让人不克不及浏览个中的代码,也不克不及修正,但它只能算一个复杂的工具,是防小人不防君子的,凑合真实的解密妙手或黑客是一点用都没有的。

  3.WSH的使用

  3.1替换批处置文件

  WSH的原目标就是为了替换DOS时期的批处置命令而推出的。如上例中的安装程序,就能够间接双击对应的文件,运转事前编写好的程序完成安装功效。这类用法次要用于一些复杂的情况体系设置、一时性编写的小工具等具有必定逻辑功效的程序。因为功效比批处置壮大很多,而编写及运转比利用特定的编程言语要复杂,不必要开辟情况及编译历程,修正也很便利,因而把握WSH的剧本,关于程序员仍是有必定的感化的。

  3.2作为COM接口供应服务

  WSH的别的的一个用处是作为COM接口程序供其他编程言语挪用,能够供应一些此言语自己不具有的功效。一样平常情形下,在编程言语中若自己不供应的功效,要经由过程API来完成,但利用API究竟对照贫苦。WSH供应的工具的功效是对照有效的,能够替换API。

  作为一个尺度的COM接口程序,上述先容的WSH的工具,除Wscript工具外,别的的工具都是能够间接在别的编程言语中利用的。如在VB中就能够间接用CreateObject函数创建工具,然后用工具的办法及属性对其举行操纵。

  4.WSH的平安成绩

  WSH剧本程序很复杂,可是年夜部分初级言语无能的事变,它基础上都具有,以是很多病毒也使用了这一点,使用WSH来体例病毒程序。有些病毒乃至复杂地用Email发送一个带病毒的VBS附件,用户一旦双击此附件文件,就会感染上病毒了。以是一段工夫WSH弄得胆战心惊,很多人把WSH看做是病毒的祸首罪魁了。很多中央都先容删除WSH而避免病毒的办法。实在也用不着如许惧怕,固然删除WSH,能够避免部分使用WSH举行感染的病毒,可是如许避免基本不克不及从基本上办理成绩。如收到VBS文件间接翻开感染的成绩,你翻开一个EXE文件也有这成绩,岂非让呆板把EXE文件也克制了?实在只需晓得VBS/JS/WSH/WSF等文件也是能够间接运转的、是有伤害就是了,收到他人的这类文件就值得嫌疑了。一样事理,WSH以组件体例为病毒干好事,助桀为虐的事也一样,封闭WSH也只能办理部分成绩,别的组件怎样办?设置IE选项中的平安级别很主要,平安级别太低了是不平安的。别的晋级WSH到5.6版也可进步平安系数,有很多毛病5.6版已堵住了。固然若切实其实不必WSH,封闭它也是一种举措,Windows2000的办法是把VBS/JS等文件的联系关系往失落,大概爽性把Wscript.exe与Cscript.exe文件更名或删除。

  5.停止语

  WSH利用的是剧本言语,固然功效没有正式的编程言语那末强,但因为体系是内置的,请求复杂,乃至记事本就能够编写源程序,并可间接运转,并且利用的剧本言语是与经常使用的VB及Java很类似的两种剧本言语,以是使用仍是十分普遍的。如一些复杂的软件安装,体系呆板的保护,为别的软件供应服务功效等。但它的弱点是因为部分呆板为了避免病毒,把WSH删除,以是原本不必安装软件,一切呆板都能利用的上风也纷歧定存在了,在一些呆板上想要利用,也要安装体系了。Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;
山那边是海 该用户已被删除
沙发
 楼主| 发表于 2015-1-19 08:41:23 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
透明 该用户已被删除
板凳
发表于 2015-1-28 05:48:52 | 只看该作者
掌握asp的特性而且一定要知道为什么。
变相怪杰 该用户已被删除
地板
发表于 2015-2-5 17:59:16 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
蒙在股里 该用户已被删除
5#
发表于 2015-2-13 05:13:00 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
若相依 该用户已被删除
6#
发表于 2015-3-3 15:10:12 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
飘灵儿 该用户已被删除
7#
发表于 2015-3-11 11:55:25 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-18 15:48:14 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
小魔女 该用户已被删除
9#
发表于 2015-3-26 11:39:41 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表