【问题标题】:code not working - SetDwordValue not working in vbs代码不起作用 - SetDwordValue 在 vbs 中不起作用
【发布时间】:2019-07-30 23:52:37
【问题描述】:

这是我的代码:

Const HKEY_CLASSES_ROOT= &H80000000
Const HKEY_CURRENT_USER= &H80000001
Const HKEY_LOCAL_MACHINE= &H80000002
Const HKEY_USERS= &H80000003
Set StdOut = WScript.StdOut
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")

strKeyPath = "SYSTEM\CurrentControlSet\Hardware Profiles\UnitedVideo\CONTROL\VIDEO\{D218E173-A430-11E8-80D8-005056C00008}\0001"
strValueName = "venkat"
oReg.SetDWordValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, 800
oReg.GetDWordValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dval
WScript.Echo "SYSTEM\CurrentControlSet\Control\"  & " = " &  dval

我在 Windows 10 中运行。

脚本中的SetDWordValue 不起作用。 GetDwordValue 工作正常,我正在获取数据。

尝试了所有的可能性。甚至来自 MSDN 的代码也不起作用。我想使用 vbs 更改我的注册表项。

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    最可能的原因是您根本没有权限写入该注册表项。 WMI 注册表方法在出现问题时不会引发错误,因此您需要检查方法的返回码,例如通过换行

    oReg.SetDWordValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, 800
    

    rc = oReg.SetDWordValue(HKEY_LOCAL_MACHINE, strKeyPath, strValueName, 800)
    WScript.Echo rc
    

    返回码 5 表示您有权限错误。

    要解决这个问题,您可能只需要“以管理员身份”运行脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多