問(wèn):
嗨,Scripting Guy!是否可以使用腳本來(lái)修改計(jì)算機(jī)上屏幕保護(hù)的等待時(shí)間長(zhǎng)度?
-- JN
答:
嗨,JN。出于某些原因,Microsoft 的腳本技術(shù)在涉及 Windows 設(shè)置和組件方面有些不足,例如屏幕保護(hù)、墻紙、任務(wù)欄和開(kāi)始菜單等等。您可以使用 WMI(尤其是 Win32_Desktop 類(lèi))來(lái)讀取這些值,但不能使用 Win32_Desktop 類(lèi)(或是任何等價(jià)的類(lèi)或?qū)ο螅﹣?lái)修改這些值。為什么呢?老實(shí)說(shuō),我們也不知道;
幸好,這些值大都存儲(chǔ)在 Windows 注冊(cè)表中,而只要這些值存儲(chǔ)在注冊(cè)表中,您就可以編寫(xiě)腳本來(lái)管理它們。屏幕保護(hù)程序也不例外。打開(kāi) Regedit,讓我們來(lái)看看 HKEY_CURRENT_USER 內(nèi)部;在 Control Panel\Desktop 項(xiàng)中,您將會(huì)看到幾個(gè)與屏幕保護(hù)程序有關(guān)的注冊(cè)表值,包括 ScreenSaveTimeout。您可能猜到了,這就是確定屏幕保護(hù)等待的時(shí)間長(zhǎng)度的注冊(cè)表值。默認(rèn)情況下,這個(gè)值被設(shè)置為 600 秒,也就是 10 分鐘。
那么,如何更改這個(gè)值呢?通過(guò)使用如下的腳本可以將等待時(shí)間更改為 5 分鐘(300 秒):
HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Control Panel\Desktop"
objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
ValueName = "ScreenSaveTimeout"
strValue = "300"
objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
為了達(dá)到這個(gè)目的,我們首先創(chuàng)建一個(gè)名為 HKEY_CURRENT_USER 的常量,并將它的值設(shè)置為 &H80000001;這告訴 WMI 的注冊(cè)表提供程序,我們正在處理注冊(cè)表的 HKEY_CURRENT_USER 部分。如果我們要處理 HKEY_LOCAL_MACHINE,那么我們就需要將常量設(shè)置為 &H80000001;將常量設(shè)置為 &H80000003 則可以處理 HKEY_USERS。
由于我們?cè)诒镜赜?jì)算機(jī)上執(zhí)行這個(gè)腳本,因此我們將變量 strComputer 設(shè)置為點(diǎn)(在 WMI 中表示本地計(jì)算機(jī)的快捷方式)。注冊(cè)表提供程序的出色之處在于,它可以在遠(yuǎn)程計(jì)算機(jī)上工作,并且性能和在本地計(jì)算機(jī)上一樣好。因此如果您希望更改遠(yuǎn)程計(jì)算機(jī)上的屏幕保護(hù)等待時(shí)間,只需將 strComputer 的值設(shè)置為那臺(tái)計(jì)算機(jī)的名稱(chēng)即可。
從此時(shí)開(kāi)始,我們連接到 WMI 服務(wù),并指定注冊(cè)表路徑 (Control Panel\Desktop)。接下來(lái)我們將調(diào)用 CreateKey 方法。這是為了保險(xiǎn)起見(jiàn)。因?yàn)槿绻覀儾檎业淖?cè)表項(xiàng)不存在,則 CreateKey 就會(huì)創(chuàng)建這個(gè)注冊(cè)表項(xiàng)。如果注冊(cè)表項(xiàng)已經(jīng)存在,那么 CreateKey 將會(huì)保留這個(gè)注冊(cè)表項(xiàng)。
在指定要更改的注冊(cè)表值名稱(chēng) (ScreenSaveTimeout) 以及新值 (300) 之后,接下來(lái)我們使用 SetStringValue 方法來(lái)將等待時(shí)間更改為 300 秒。
還不算太壞,是吧?有關(guān)注冊(cè)表提供程序——可能是所有 WMI 提供程序中最不常用的一個(gè)了——的更多信息,請(qǐng)參閱“Microsoft Windows 2000 腳本指南”中的 “注冊(cè)表”一章。并訪問(wèn)聲名不佳的Tweakomatic,這個(gè)令人驚奇的實(shí)用工具可以編寫(xiě)可對(duì)注冊(cè)表進(jìn)行讀寫(xiě)操作的腳本。為了從傳統(tǒng)商業(yè)中沾光,它使用了 Tweakomatic 的名字,這的確大有好處。
順便提及,以下是另一個(gè)比較有用的屏幕保護(hù)程序腳本,這個(gè)腳本可以確保屏幕保護(hù)程序受到密碼保護(hù):
HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Control Panel\Desktop"
objReg.CreateKey HKEY_CURRENT_USER, strKeyPath
ValueName = "ScreenSaverIsSecure"
strValue = "1"
objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue
你看,注冊(cè)表腳本編寫(xiě)多么有趣?!Tweakomatic 還有其他腳本可以用來(lái)管理屏幕保護(hù)程序、開(kāi)始菜單、任務(wù)欄、Windows 資源管理器文件夾設(shè)置以及更多內(nèi)容。如果您正在尋找管理常見(jiàn)桌面設(shè)置的方法,這是一個(gè)開(kāi)始進(jìn)行工作的好地方。
用vbscript實(shí)現(xiàn)修改屏幕保護(hù)的等待時(shí)間長(zhǎng)度
2020-07-11 11:01VBS教程網(wǎng) VBS
是否可以使用腳本來(lái)修改計(jì)算機(jī)上屏幕保護(hù)的等待時(shí)間長(zhǎng)度? 如果你有這方面的需求,可以跟隨本文一起來(lái)了解下
延伸 · 閱讀
- 2021-12-08C#實(shí)現(xiàn)打造氣泡屏幕保護(hù)效果
- 2021-02-20javascript實(shí)現(xiàn)鎖定網(wǎng)頁(yè)、密碼解鎖效果(類(lèi)似系統(tǒng)
- 2021-01-10什么是vbscript?
- 2020-08-19抖音vbs表白代碼大全 抖音vbscript表白代碼使用方
- 2020-08-19在vbscript中判斷COM類(lèi)是否存在的實(shí)現(xiàn)代碼
- 2020-08-1915分鐘學(xué)會(huì)vbscript中的正則表達(dá)式
- VBS
提供個(gè)可以顯示農(nóng)歷的VBS代碼
本文主要分享一段可以顯示農(nóng)歷的VBS代碼,具有一定的參考價(jià)值,有需要的朋友可以了解一下...
- VBS
VBS教程:屬性-AvailableSpace 屬性
VBS教程:屬性-AvailableSpace 屬性 ...
- VBS
VBS教程:對(duì)象-Folders 集合
VBS教程:對(duì)象-Folders 集合...
- VBS
vbs base64 解密腳本代碼
解密base64的vbs小函數(shù),支持英文與數(shù)字不支持中文。...
- VBS
可以定時(shí)自動(dòng)關(guān)機(jī)的vbs腳本
這篇文章主要分享一段可以定時(shí)自動(dòng)關(guān)機(jī)的vbs腳本代碼,有需要的童鞋可以學(xué)習(xí)下...
- VBS
VBS教程:屬性-VolumeName 屬性
VBS教程:屬性-VolumeName 屬性...
- VBS
腳本 MsAgent組件 微軟精靈 揪出系統(tǒng)自帶的寵物
你知道系統(tǒng)里有一個(gè)隱藏的寵物嗎? 將以下代碼保存為后綴為.vbs的文件,再雙擊運(yùn)行,看看出來(lái)什么?一個(gè)可愛(ài)的魔法老人!還會(huì)說(shuō)話、移動(dòng)、吹喇叭…...
- VBS
VBS教程:正則表達(dá)式簡(jiǎn)介 -建立正則表達(dá)式
建立正則表達(dá)式 構(gòu)造正則表達(dá)式的方法和創(chuàng)建數(shù)學(xué)表達(dá)式的方法一樣。也就是用多種元字符與操作符將小的表達(dá)式結(jié)合在一起來(lái)創(chuàng)建更大的表達(dá)式。 可以...