怎样通过ASP页面访问服务器上的注册表?(请提供思路,不必提供具体代码实现)

huiler 2001-12-20 09:14:16
怎样通过ASP页面访问服务器上的注册表?(请提供思路,不必提供具体代码实现)谢谢!!!
...全文
102 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hcheng 2002-02-02
  • 打赏
  • 举报
回复
大哥,好像不对劲那,服务器端能执行msgbox吗?而且,在我得机子上为什么在执行到WSHShell.RegRead时总是报错啊!!!
jian 2001-12-22
  • 打赏
  • 举报
回复
不好意思,其实代码太简单,还不如直接给了
jian 2001-12-22
  • 打赏
  • 举报
回复
我转载一篇文章:

用脚本文件简单修改注册表
2000-08-15· 张良·YESKY


  用.VBS脚本,也就是SCRIPT 脚本文件对注册表进行修改。如果您的爱机不支持VBSCRIPT,那么请您直接阅读第二部分。下面我通过一个例子自来解释脚本文件:

' Windows Script Host Sample Script

' You have a royalty-free right to use, modify, reproduce and distribute

' the Sample Application Files (and/or any modified version) in any way

' you find useful, provided that you agree that Microsoft has no warranty,

' obligations or liability for any Sample Application Files.

' ------------------------------------------------------------------------

'

' This sample demonstrates how to write/delete entries in the registry.

L_Welcome_MsgBox_Message_Text = "此脚本显示如何创建和删除注册表项。"

L_Welcome_MsgBox_Title_Text = "Windows Scripting Host 范例"


Call Welcome()

' ********************************************************************************

' *

' * Registry related methods.

' *

 

Dim WSHShell

Set WSHShell = WScript.CreateObject("WScript.Shell")

 

WSHShell.Popup "创建项 HKCU\MyRegKey 数值为 'Top level key'"

WSHShell.RegWrite "HKCU\MyRegKey\", "Top level key"

 

WSHShell.Popup "创建项 HKCU\MyRegKey\Entry 数值为 'Second level key'"

WSHShell.RegWrite "HKCU\MyRegKey\Entry\", "Second level key"

 

WSHShell.Popup "将数值项 HKCU\MyRegKey\Value 设为 REG_SZ 1"

WSHShell.RegWrite "HKCU\MyRegKey\Value", 1

 

WSHShell.Popup "将数值项 HKCU\MyRegKey\Entry 设为 REG_DWORD 2"

WSHShell.RegWrite "HKCU\MyRegKey\Entry", 2, "REG_DWORD"

 

WSHShell.Popup "将数值项 HKCU\MyRegKey\Entry\Value1 设为 REG_BINARY 3"

WSHShell.RegWrite "HKCU\MyRegKey\Entry\Value1", 3, "REG_BINARY"

 

WSHShell.Popup "删除 HKCU\MyRegKey\Entry\Value1 数值"

WSHShell.RegDelete "HKCU\MyRegKey\Entry\Value1"

 

WSHShell.Popup "删除 HKCU\MyRegKey\Entry 项"

WSHShell.RegDelete "HKCU\MyRegKey\Entry\"

 

WSHShell.Popup "删除 HKCU\MyRegKey 项"

WSHShell.RegDelete "HKCU\MyRegKey\"

 

' ********************************************************************************

' *

' * Welcome

' *

Sub Welcome()

Dim intDoIt

 

intDoIt = MsgBox(L_Welcome_MsgBox_Message_Text, _

vbOKCancel + vbInformation, _

L_Welcome_MsgBox_Title_Text )

If intDoIt = vbCancel Then

WScript.Quit

End If

End Sub

1.在上例中,单引号后面是注释.

2. L_Welcome_MsgBox_Message_Text = "此脚本显示如何创建和删除注册表项。"

L_Welcome_MsgBox_Title_Text = "Windows Scripting Host 范例"

这两句是提示.

3. 用 Set WSHShell = WScript.CreateObject("WScript.Shell"),定义一个对象WSHSHELL 为WScript.Shell,

 

4.WELCOME()是一个确认对话框.

5. WSHShell.Popup "创建项 HKCU\MyRegKey 数值为 'Top level key'" 是声明要修改的注册表项.

WSHShell.RegWrite "HKCU\MyRegKey\", "Top level key" 在HKCU下面创建MYREGKEY子键,读者也可以根据自己实际情况修改键名、指定路径。

6、REG_SZ为字符串,要用引号引起来,REG_DWORD 为0—2147483647之间整数,REG_BINARY与之范围相同。

7、需要注意的是,若结尾是“\”则创建一个主键(项),将其默认值设为逗号后面的值项,若结尾不是“\”,则在前一个“\”后面的项中建立所设立的VALUE,逗号后面为其值。

8、WSHShell.RegDelete与WSHShell.RegWrite大致相同,只是功能相反。

各位可以将上面文档复制,存为FILENAME.VBS,然后双击即可。


用INF 脚本修改注册表。同样我先举一个例子,然后做详细讲解。


[VERSION]

SIGNATURE=$CHICAGO$

 

[DEFAULTINSTALL]

ADDREG=MY.ADD.REG

DELREG=MY.DEL.REG

 

[MY.ADD.REG]

HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,AUTOADMINLOGON,0,”0”

HKCU,CONTROL PANEL\DESKTOP,SMOOTHSCROLL,1,01,00,00,00

HKCU,CONTROL PANEL\DESKTOP,SCREENSAVEUSEPASSWORD,1,00,00,00,00

 

[MY.DEL.REG]

HKCU,MYKEY

HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,DEFAULTUSERNAME

HKLM,SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\WINLOGON,DEFAULTUSERNAME

 

1.[VERSION] 是文件头。

SIGNATURE=$CHICAGO$ 是指针对WINDOWS(CHICAGO是WINDOWS95的内部名称)

要编辑注册表必须以这两句开头。

  2、[DEFAULTINSTALL]段指出INF文件包含的其他段,ADDREG 和DELREG是键,有特殊意义,他指出要添加或删除的注册表项段名

  3、WINDOWS98总是先处理DELREG段,后处理ADDREG段,这可能会对我们的应用有所帮助。

  [MY.ADD.REG]

  HKCU,MYKEY,MYVALUE,0,“STRING” 添加名为MYVALUE的字符串值项到键MYKEY下,其值设为STRING

  HKCU,MYKEY,MYVALUE,,STRING 添加名为MYVALUE的字符串值项到MYKEY,将其值设为STRING

  HKCU,MYKEY,MYVALUE,1,77,34,05,20添加名为MYVALUE的二进制值项到键MYKEY下,其值设为二进制值77,34,05,20

  HKCU,MYKEY,0,”DEFAULT VALUE” 设置键MYKEY的缺省值项为字符串DEFAULT VALUE

  HKCU,MYKEY,,”DEFAULT VALUE” 设置键MYKEY的缺省值项并将其值设为字符串DEFAULT VALUE

  HKCU,MYKEY 添加注册表键MYKEY但不设置其值

 

  [MY.DEL.REG]

  HKCU,MYKEY,MYVALUE 从键MYKEY 中删除值项MYVALUE

  HKCU,MYKEY 删除键MYKEY及其全部子键,即删除全部分支.

 

  下面是一个自动清除MRU记录的INF文件:

  CLEAN.INF

  [VERSION]

  SIGNATURE=$CHICAGO$

 

  [DEFAULTINSTALL]

  DELREG=DELTEGKEY

 

  [DELREGKEY]

  HKCU,”SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\DOC FIND SPEC MRU”,

  HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\FINDCOMPUTERMRU,

  HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\RECENTDOCS,

  HKCU, SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\RUNMRU

 

  清除MRU和WINDOWS\RENCENT 的批处理文件

  CLEAN.BAT

  @ECHO OFF

  C:\WINDOWS\RUNDLL.EXE SETUPX.DLL,INSTALLHINFSECTION DEFAULTINSTALL 132 CLEAN.INF

  ECHOY |ERASE C:\WINDOWS\RECENT


  各位可将CLEAN.BAT 加入HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN中让电脑自动在启动时完成任务.
luket 2001-12-22
  • 打赏
  • 举报
回复
简单一点:现在JAVASCRIPT不是可以对注册表进行操作吗(可恶,这么多病毒都和这有关)然后在ASP里面构造一段这样的代码在客户端执行就可以了
ayusay 2001-12-22
  • 打赏
  • 举报
回复
用VB调用API做一个可访问注册表的dll(即组件)
注册后,在ASP中调用

明白?
lanying 2001-12-21
  • 打赏
  • 举报
回复
gz!
julyclyde 2001-12-21
  • 打赏
  • 举报
回复
这还不算思路?到MSDN去看看文档就知道啦!
http://www.microsoft.com/china/scripting/
可以下载最新文档。
reinly 2001-12-21
  • 打赏
  • 举报
回复
思路:
简单说就是调用一个COM组件,不知道你会不会调用。
声明一个SHELL对象,然后象对文件操作一样就可以了。
使用REGOPEN就可以打开注册表了。
执行你想要的操作,比如REGCREATEKEY....
关闭数据库regclose
haiznan 2001-12-21
  • 打赏
  • 举报
回复
你要不要给来一段代码呀~~~~
huiler 2001-12-20
  • 打赏
  • 举报
回复
谢谢,但是你怎么不把思路写上呢?难道wscript.shell对象就是思路吗?请具体点。
julyclyde 2001-12-20
  • 打赏
  • 举报
回复
WScript.shell对象。
huiler真是个好学的人,不像一些懒人,只要代码。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧