如何使用腳本鎖定任務(wù)欄?
更新時(shí)間:2007年02月25日 00:00:00 作者:
復(fù)制代碼 代碼如下:
HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
ValueName = "TaskBarSizeMove"
dwValue = 0
objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, ValueName, dwValue
事實(shí)證明,通過切換注冊(cè)表中的一個(gè)值就可以鎖定或者解除鎖定任務(wù)欄;更確切地說,就是通過切換注冊(cè)表值 Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskBarSizeMove。將該值設(shè)置為 0 即可鎖定任務(wù)欄;將其設(shè)置為 1 就可解除鎖定任務(wù)欄。正如您可能預(yù)想的那樣,要鎖定任務(wù)欄,我們的腳本只需將 TaskBarSizeMove 的值設(shè)置為 0 就萬事大吉了。
要實(shí)現(xiàn)該功能,該腳本首先要定義一個(gè)名為 HKEY_CURRENT_USER 的常量,并將其值設(shè)置為 &H80000001;我們將使用這個(gè)常量來指示腳本要處理哪個(gè)注冊(cè)表配置單元。(鎖定和解除鎖定任務(wù)欄均是針對(duì)單個(gè)用戶完成的。)然后,我們利用以下兩行代碼連接到本地計(jì)算機(jī)上的 WMI 服務(wù):
strComputer = "."
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
不過不用擔(dān)心;您并不僅限于在本機(jī)上運(yùn)行該腳本。而是很容易就可以對(duì)該腳本進(jìn)行修改,以在遠(yuǎn)程計(jì)算機(jī)環(huán)境下運(yùn)行。為此,只需將計(jì)算機(jī)的名稱賦值給變量 strComputer 即可。例如,下面的代碼會(huì)綁定到名為 atl-ws-01 的計(jì)算機(jī)上的 WMI 服務(wù):
strComputer = "atl-ws-01"
Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
這會(huì)比往返于各辦公室并手動(dòng)鎖定 300 到 400 臺(tái)計(jì)算機(jī)上的任務(wù)欄更輕松嗎?我們不能確切地下這種結(jié)論,但它聽起來的確要輕松些,不是嗎?
在連接到 WMI 服務(wù)后,可將注冊(cè)表路徑 (Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced) 賦值給一個(gè)名為 strKeyPath 的變量。然后再將我們要更改的實(shí)際的注冊(cè)表值 (TaskBarSizeMove) 賦值給一個(gè)名為 ValueName 的變量。最后,再將值 0 賦值給一個(gè)名為 dwValue 的變量。該變量代表了我們要賦值給 TaskBarSizeMove 的值。
注意:如果我們想解除鎖定任務(wù)欄而不是想對(duì)其進(jìn)行鎖定怎么辦?沒問題;只需將值 1 賦值給 dwValue 即可。
現(xiàn)在我們所要做的就是調(diào)用 SetDWORDValue 方法,將常量 HKEY_CURRENT_USER 和變量 strKeyPath、ValueName 及 dwValue 作為參數(shù)傳遞:
objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, ValueName, dwValue
這樣就大功告成了,但您可能必須先注銷,然后再次登錄,此更改才能真正生效。因此,您可能想要將該代碼添加到注銷腳本;這樣當(dāng)用戶注銷時(shí),更改就會(huì)自動(dòng)生效。用戶下次登錄時(shí),任務(wù)欄將會(huì)被鎖定。
我們的腳本專家是多么迫切地希望他在 10 年前就會(huì)編寫出這樣的腳本。當(dāng)然,即使這樣,他也仍必須將該腳本復(fù)制到一張軟盤上,然后隨身帶著這張軟盤往返于各辦公室。此外,那時(shí)既沒有 Windows Script Host 也沒有 WMI,因此運(yùn)行該腳本還是有一些難度。但這些只是一些瑣碎的事情,我們的腳本專家必然會(huì)找到一個(gè)避開這類小問題的方法。
相關(guān)文章
vbs實(shí)現(xiàn)unicode和ascii編碼轉(zhuǎn)換
這篇文章主要介紹了vbs實(shí)現(xiàn)unicode和ascii編碼轉(zhuǎn)換,本文同時(shí)介紹了OpenTextFile和CreateTextFile的使用,需要的朋友可以參考下2014-11-11VBS實(shí)現(xiàn)DOC轉(zhuǎn)為文本文檔的代碼
WORD軟雖然可以將doc轉(zhuǎn)為文本文檔,但每次打開WORD都很慢。最好就是通過右鍵菜單來快速轉(zhuǎn)換。2008-06-06如何通過計(jì)劃任務(wù)調(diào)用QuickTest測試腳本
如何通過計(jì)劃任務(wù)調(diào)用QuickTest測試腳本...2007-03-03VBS實(shí)現(xiàn)工作表按指定表頭自動(dòng)分表
下面的VBS腳本就是實(shí)現(xiàn)的工作表按指定表頭(由用戶選擇)自動(dòng)分表功能。需要的朋友只要將要操作的工作表拖放到腳本文件上即可輕松實(shí)現(xiàn)工作表分表2013-01-01VBS技術(shù)內(nèi)幕:CreateObject函數(shù)詳解
CreateObject函數(shù)可以說是VBS中最強(qiáng)大的函數(shù),沒有了它,VBS只能用來算算數(shù)學(xué)題。我們都知道CreateObject函數(shù)可以創(chuàng)建對(duì)象,但是很多人并不知道其中的奧秘2018-05-05