怎么用vbs实现配置无人登录计算机时使用的屏幕保护程序
更新:HHH   时间:2023-1-7


这篇文章主要为大家展示了“怎么用vbs实现配置无人登录计算机时使用的屏幕保护程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用vbs实现配置无人登录计算机时使用的屏幕保护程序”这篇文章吧。

代码如下:


Const HKEY_USERS = &H80000003 
strComputer = "." 
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 
strKeyPath = ".Default\Control Panel\Desktop" 
ValueName = "SCRNSAVE.EXE" 
strValue = "C:\WINDOWS\System32\Script Center.scr" 
objReg.SetStringValue HKEY_USERS, strKeyPath, ValueName, strValue 


正如您所看到的,这是一个用于更改注册表的 WMI 脚本。它与我们过去为您展示的许多其它注册表修改脚本非常相似,但有一处特殊更改。在以前的脚本中,我们总是先定义一个常量,告诉脚本我们要处理 HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE 注册表配置单元。这样做有充分的理由:我们希望将所做的一切更改都应用于当前用户或计算机本身。不过,请注意此脚本的第一行:
Const HKEY_USERS = &H80000003
秘密就在这里:这一次我们要处理 HKEY_USERS 注册表配置单元。除了其它用途外,HKEY_USERS 配置单元为您提供了这样一个场所:在其中配置的设置可应用于登录到计算机的任何用户,而不仅仅是某一特定的用户。换言之,如果您使用 HKEY_USERS 配置屏幕保护程序,该屏幕保护程序便是默认屏幕保护程序,会应用于登录到计算机的任何新用户。(除非用户明确配置其它屏幕保护程序,否则会继续应用默认屏幕保护程序。)同样,无人登录计算机时,也会使用此默认屏幕保护程序。
酷吧?顺便提一下,您还可以使用该注册表配置单元配置显示在登录屏幕上的墙纸;只需将注册表值 HKEY_USERS\.Default\Control Panel\Desktop\Wallpaper 设置为相应的文件路径即可。类似下面的代码:

复制代码 代码如下:


Const HKEY_USERS = &H80000003 
strComputer = "." 
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 
strKeyPath = ".Default\Control Panel\Desktop" 
ValueName = "Wallpaper" 
strValue = "C:\WINDOWS\System32\Script Center.bmp" 
objReg.SetStringValue HKEY_USERS, strKeyPath, ValueName, strValue 


定义常量后,接下来要连接本地计算机上的 WMI 服务(虽然此脚本在远程计算机上的运行效果同样不错)。然后,为下面三个不同的变量赋值:
• strKeyPath - HKEY_USERS 内注册表项的路径。在本例中,路径为 .Default\Control Panel\Desktop。
• ValueName - 要更改的注册表值的名称 (SCRNSAVE.EXE)。
• strValue - 要赋给 SCRNSAVE.EXE 的新值。在此脚本中,该值是此屏幕保护程序的完整路径。
最后,我们要调用 SetStringValue 方法(将常量 HKEY_USERS 和这三个变量一起作为参数传递),这样就大功告成了:
objReg.SetStringValue HKEY_USERS, strKeyPath, ValueName, strValue
现在,如果您注销后再等几分钟,就会运行“脚本中心”屏幕保护程序。(假设注册表值 ScreenSaveActive 设置为 1;如果设置为 0,则表示禁用该屏幕保护程序。)

以上是“怎么用vbs实现配置无人登录计算机时使用的屏幕保护程序”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!

返回开发技术教程...