Board logo

标题: [VBS]如何判断一个注册表的项是否存在? [打印本页]

作者: kich     时间: 2007-3-24 11:40    标题: [VBS]如何判断一个注册表的项是否存在?

用VBS。
但在操作之前,最好先知道这个项存在不!

如果存在,那再下步!
不存在就出错了!

所以,想知道如何判断一个注册表的项或者键值存在不!!
作者: baomaboy     时间: 2007-3-24 12:17

On Error Resume Next
Set WshSHell = WScript.CreateObject("WScript.Shell")
Str=WshSHell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\病毒")
if Err.Number <> 0 then
msgbox "没发现病毒。"
else
msgbox "发现病毒。"
end if

作者: kich     时间: 2007-3-26 07:34
问下,我把脚本保存下来,并重命名为vbs格式的了,但为什么不能顺利运行呢?
我是完整复制代码的!

运行的时候,错误出现在第一行,字符在第一个字符!
错误原因是,无效字符!
代码:80010408

请问怎么解决,我经常碰到这样的事情

我复制的代码是:
================

On Error Resume Next
Set WshSHell = WScript.CreateObject("WScript.Shell")
Str=WshSHell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\病毒")
if Err.Number <> 0 then
msgbox "没发现病毒。"
else
msgbox "发现病毒。"
end if
===================

保存在D盘,名为dd.vbs
作者: everest79     时间: 2007-3-26 08:06
reg query "HKLM\software\microsoft\windows\currentversion\run1"||echo 不存在
作者: baomaboy     时间: 2007-3-26 23:41


  Quote:
Originally posted by kich at 2007-3-26 07:34:
问下,我把脚本保存下来,并重命名为vbs格式的了,但为什么不能顺利运行呢?
我是完整复制代码的!

运行的时候,错误出现在第一行,字符在第 ...

我调试好的,请运行时仔细检查一遍你复制保存的代码看是否复制多或少了字符,另外也许还是象上次一样是你上的这家网吧电脑系统的原因,换家网吧试试


另外你该自己学会分析错误,尤其是就只有这么少的几行代码,
第一行出错,好啊 你把其它几行全删除掉 只留一句On Error Resume Next
看是否还出错,象你说的那情况肯定还要出错,那你仔细看看是否是On Error Resume Next不错,如果确定一字未错,那就去查VBS教科书看看有没有On Error Resume Next这语句,如果没有那是我们错了,如果教科书都有,就不要钻牛角尖的想VBS代码的原因了,请找操作系统和软件的原因。。。。。远了 跑题了。。。。

[ Last edited by baomaboy on 2007-3-26 at 11:52 PM ]