仓酷云

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

[学习教程] ASP教程之用Asp修正注册表

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

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

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

x
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般看完了这个你就能够用asp修正注册表了!
赫赫有名的WSH传闻过吗?它就是WindowsScriptHost的缩写情势,WSH是Windows平台的剧本指令,它的功效非常壮大,而且它仍是使用语法布局复杂、易学易用且功效壮大的JScript和VBScript剧本言语,来完成其出色的功效的,除本文先容的修正注册表以外,它还能够会见Excel文件,也能与收集相同,固然它最年夜的上风莫过于它能与操纵体系相同,而修正注册表只是它与操纵体系相同的冰山一角。恰是它有云云诸多的长处与有用性,正倍受良多Windows用户的喜爱,本文就为人人先容一二,让列位明白一下WSH的风度。
用VBScript编写的WSH程叙文件的扩大名为.vbs,该剧本程序在窗口界面是由wscript.exe文件注释实行的,在字符界面是由cscript.exe文件注释实行的,命令格局为:cscriptfilename.vbs
 
创立工具
用VBScript修正注册表,必需先创立一个能于操纵体系相同的工具,再使用该工具的各类办法对注册表举行操纵,创立这个工具的办法和格局以下:
DimOperationRegistry
SetOperationRegistry=WScript.CreateObject("WScript.Shell")
上述这些代码就创立了一个能与操纵体系相同的工具OperationRegistry
 
工具的办法
有了以上这个工具,其实不即是就可以即刻对注册表举行操纵,我们还必需弄清该工具对注册表举行操纵的几种主要办法.
1.对注册表的读操纵RegRead
2.对注册表的写操纵RegWrite
3.对注册表的删操纵RegDelete
增补一点,WSH另有两个通用的办法:
WScript.Echo()用来显现一串文本信息,相称于VB中的MsgBox()。
Wscript.Quit()用来加入VBScript程序。
 
办法的参数
关于以上三种操纵RegRead,RegWrite,RegDelete都必要带参数举行,而且这些操纵的参数的个数和情势又不尽不异,上面我就把它们的一个配合且必不成少的参数讲一下:
该参数可称作是"路径参数",它包含根键,主键路径和键值,各部分暗示的办法以下:
根键:
根键有两种暗示办法。
办法一:间接用它在注册表中的字符串来暗示,如:
HKEY_CLASSES_ROOT,HKEY_CURRENT_USER等
办法二:用缩写的四个字母来暗示,前两个为HK,后两个即为根键单词的首字母。如:
根键HKEY_CLASSES_ROOT暗示为:HKCR,根键HKEY_CURRENT_USER可暗示为:HKCU等。
主键路径:
主键路径就是方针键在注册表中的主键地位,各个主键之间用""符分开开。如:"SoftwareMicrosoftWindowsCurrentVersionPolicies"
键值:
键值参数间接接在主键路径以后。比方一个完全的路径以下所示:
"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun"
 
办法详解
1、RegRead操纵详解
读操纵RegRead次要是用来读取注册表中主键的默许值或键值的数据,我们能够将读得的数据送到响应的变量中,再使用VB中的MsgBox()函数将该数据显现出来,这就到达了读取注册表中数据的目标(也能够使用工具OperationRegistry的办法Popup()将读取的数据送至屏幕),比方:
read.vbs(将以下代码存为read.vbs文件)
DimOperationRegistry
SetOperationRegistry=WScript.CreateObject("WScript.Shell")
DimRead_Data1,Read_Data2
Read_Data1=OperationRegistry.RegRead("HKCR.xxf")
读取根键HKEY_CLASSES_ROOT之下的.xxf主键的默许值,并将该数据送至变量Read_Data1
Read_Data2=OperationRegistry.RegRead("HKCR.xxfvalue")
读取.xxf主键之下的value键值的数据,并将该数据送至变量Read_Data2
MsgBox("Default="&Read_Data1&"value="&Read_Data2)
将读取的数据显现出来
2、RegWrite操纵详解
写操纵RegWrite次要是用来在注册表中新建主键或键值,并要付与给它们一个初始值,该操纵一样能够对注册表中以存在的主键或键值举行数据的修正,因而写操纵的参数布局就比读操纵要庞大一些,它不但要路径参数,还要一个初始值和范例参数.
先来看初始值参数,该参数关于写操纵来讲是必不成少的,它能够为空(null)但却不克不及免却。在新建主键时,初始值参数就赋给了该主键的默许值,在新建键值时,初始值参数就成了新建键值的初始数据.而初始值的范例,则是由范例参数决意的.范例次要有以下三种:
(1)REG_SZ:字符型.该范例为缺省范例
(2)REG_DWORD:双字节型.
(3)REG_BINARY:二进制型.
以上三品种型第1种和第2种用得最多,第3品种型在某些场所能够用第2种加以替换,这三品种型的赋值办法以下:
关于REG_SZ型:间接用字符串付与,如"text","string"等
关于REG_DWORD型和REG_BINARY型则有两种赋值体例
i)间接用十进制的数暗示,如:0,1等.
ii)用十六进制的数暗示,如:0x12,0xff等.看例:
write.vbs
DimOperationRegistry
SetOperationRegistry=WScript.CreateObject("WScript.Shell")
Default=OperationRegistry.RegRead("HKCR")
猎取一个空值(null)
 
OperationRegistry.RegWrite"HKCR.xxf",Default
在根键HKEY_CLASSES_ROOT之下新建主键.xxf,并置其默许值为空
 
OperationRegistry.RegWrite"HKCR.xxf","xxffile"
在根键HKEY_CLASSES_ROOT之下新建主键.xxf,并置其默许值为"xxffile"
 
OperationRegistry.RegWrite"HKCR.xxfvalue1","string"
在主键.xxf之下新建一个字符串型键值value1,并置其初始值为"string"
 
OperationRegistry.RegWrite"HKCR.xxfvalue2",1,"REG_DWORD"
在主键.xxf之下新建一个REG_DWORD型键值value2,并置其初始值为1
 
OperationRegistry.RegWrite"HKCR.xxfvalue3",0Xff,"REG_BINARY"
在主键.xxf之下新建一个二进制型键值value3,并置其初始值为十六进制的ff
 
3、RegDelete操纵详解
删除操纵RegDelete次要是用来删除注册表中已存在的主键或键值,该操纵是一种极为伤害的操纵,它能将主键或键值绝不包涵的在注册表中“砍失落”,不管该键值上面有多主要的数据,它都能畅行无阻,因而在利用该操纵时务必当心。
删除操纵的参数情势与读操纵的参数情势几近完整不异,只是有一点小小的区分,那就是删除操纵不必要将操纵的前往值送给某一变量,比方:
delete.vbs
DimOperationRegistry
SetOperationRegistry=WScript.CreateObject("WScript.Shell")
OperationRegistry.RegRead("HKCR.xxfvalue")
删除.xxf主键之下的value键值
OperationRegistry.RegRead("HKCR.xxf")
删除根键HKEY_CLASSES_ROOT之下的.xxf主键
夸大一点,不要变动注册表中已存在的主键或键值,更不要将它们删除,由于对注册表举行了不妥的写操纵或删操纵,情形严峻的会招致体系溃散!假如你真想这么做,那就请你作好注册表的备份。
 
使用实例
1、读本机“盘算机名”
ReadComputerName.vbs
DimReadComputerName
SetReadComputerName=WScript.CreateObject("WScript.Shell")
DimComputerName,RegPath
RegPath="HKLMSystemCurrentControlSetControlComputerNameComputerNameComputerName"
ComputerName=ReadComputerName.RegRead(RegPath)
MsgBox("盘算机名为"&ComputerName)
2、埋没快速体例图标上的小箭头
Hidden.vbs
DimHiddenArrowIcon
SetHiddenArrowIcon=WScript.CreateObject("WScript.Shell")
DimRegPath1,RegPath2
RegPath1="HKCRlnkfileIsShortCut"
RegPath2="HKCRpiffileIsShortCut"
HiddenArrowIcon.RegDelete(RegPath1)
HiddenArrowIcon.RegDelete(RegPath2)
3、改革“入手下手”菜单
ChangeStartMenu.vbs
DimChangeStartMenu
SetChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
Type_Name="REG_DWORD"
Key_Data=1
 
StartMenu_Run="NoRun"
StartMenu_Find="NoFind"
StartMenu_Close="NoClose"
 
SubChange(Argument)
ChangeStartMenu.RegWriteRegPath&Argument,Key_Data,Type_Name
MsgBox("Success!")
EndSub
 
CallChange(StartMenu_Run)禁用“入手下手”菜单中的“运转”功效
CallChange(StartMenu_Find)禁用“入手下手”菜单中的“查找”功效
CallChange(StartMenu_Close)禁用“入手下手”菜单中的“封闭体系”功效
4、向Windows中增加自启动程序
该程序能在开机时主动运转。
AddAutoRunProgram.vbs
假定该程序在c:myfile文件夹中,文件名为autorun.exe
DimAutoRunProgram
SetAutoRunProgram=WScript.CreateObject("WScript.Shell")
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
Type_Name="REG_SZ"
Key_Name="AutoRun"
Key_Data="C:Myfileautorun.exe"
该自启动程序的全路径文件名
AutoRunProgram.WriteRegPath&Key_Name,Key_Data,Type_Name
在启动组中增加自启动程序autorun.exe
MsgBox("Success!")
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.
小魔女 该用户已被删除
沙发
发表于 2015-1-19 17:57:17 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
再现理想 该用户已被删除
板凳
发表于 2015-1-26 12:01:02 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
乐观 该用户已被删除
地板
发表于 2015-2-4 15:11:17 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
变相怪杰 该用户已被删除
5#
发表于 2015-2-10 02:28:58 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
小女巫 该用户已被删除
6#
发表于 2015-2-28 15:40:17 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
精灵巫婆 该用户已被删除
7#
发表于 2015-3-10 01:42:45 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
老尸 该用户已被删除
8#
发表于 2015-3-17 04:09:57 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
透明 该用户已被删除
9#
发表于 2015-3-23 18:45:41 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 03:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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