日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

深入改造Win2000“位置條”( 二 )


表一:Win2K系統(tǒng)文件夾及其ID;
文件夾; ID;
字體; 20;
回收站; 10;
我的電腦; 17;
網絡和撥號連接; 49;
打印機; 4;
收藏; 6;
發(fā)送到; 9;
My Pictures; 39;
歷史; 34;
網上鄰居; 18;
我的文檔; 5;
Windows系統(tǒng)目錄; 36;

注意:表一的ID值不適用于XP 。如果你使用的是XP,請查找相關資料,或直接使用文件夾的絕對路徑 。;

三、定制過程自動化
下面介紹一個modifyPlaces.vbs腳本,這是一個自動讀取和寫入位置信息的程序 。在Win2K命令窗口下,執(zhí)行“CScript modifyPlaces.vbs”或“WScript modifyPlaces.vbs”即可啟動該程序,參見圖二 。程序首先詢問你想要修改的位置編號 。如果輸入0到4之間的數(shù)字,程序繼續(xù),點擊“是”用路徑指定文件夾,點擊“否”用ID數(shù)字指定文件夾 。點擊“是”之后,程序要求你輸入一個完整的路徑名,完成后,程序將創(chuàng)建一個REG_SZ注冊鍵 。如果選擇了“否”,程序要求輸入一個系統(tǒng)文件夾ID,完成后,程序創(chuàng)建一個REG_DWORD子鍵 。指定一個位置之后,程序允許你繼續(xù)指定其他的位置 。
圖二:定制位置條
" 常量
const APP_TITLE = "設置“打開”對話框的位置條"
const REG_PLACESBAR = "HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesComDlg32Placesbar"
Dim place;" 位置編號
Dim canContinue;;;;;" 邏輯開關
" 獲取待設置的位置編號
canContinue = True
While canContinue
place = InputBox("輸入位置編號 (0到4)", APP_TITLE, 0)
" 點擊了“取消”按鈕...
If place = "" Then
WScript.Quit
End If

If place > 4 Then
MsgBox "位置編號錯誤,請指定0-4之間的位置編號!", 16, APP_TITLE
Else
" 位置編號合法,從注冊表讀取信息
ChangePlace place
End If
Wend
" 修改指定的位置
Sub ChangePlace (place)
Dim shell, curPath, buf, rc, newPath, theType

Set shell = CreateObject("WScript.Shell")
On Error Resume Next
curPath = shell.RegRead(REG_PLACESBAR & "Place" & place)
On Error Goto 0
" 默認值
If curPath = "" Then curPath = "默認值"
buf = ""
buf = buf & "位置" & place & "當前被設置為" & _
Chr(34) & curPath & Chr(34) & vbCrLf & vbCrLf & _
"點擊“是”指定一個普通文件夾" & vbCrLf & _
"點擊“否”指定一個系統(tǒng)文件夾" & vbCrLf & _
"點擊“取消”退出程序"

rc = MsgBox(buf, 3, APP_TITLE)
" YES=6, NO=7, CANCEL=2
If rc = vbCancel Then Exit Sub

" 修改位置
Select Case rc
Case vbYes
newPath = InputBox("輸入新的文件夾路徑", APP_TITLE, curPath)
If newPath = "" Then Exit Sub
theType = "REG_SZ"
Case vbNo
buf = ""
buf = buf & "選擇新的文件夾." & vbCrLf & vbCrLf & _
"5 - 我的文檔" & vbCrLf & _
"6 - 收藏" & vbCrLf & _
"17 - 我的電腦" & vbCrLf & _
"18 - 網上鄰居" & vbCrLf & _
"36 - Windows系統(tǒng)目錄" & vbCrLf & _
"34 - 歷史"
newPath = InputBox(buf, APP_TITLE, curPath)
If newPath = "" Then Exit Sub
theType = "REG_DWORD"
End Select

shell.RegWrite REG_PLACESBAR & "Place" & place, newPath, theType
End Sub
應該承認,modifyPlaces.vbs沒有太多的錯誤控制機制,而且它的用戶界面也很粗糙 。如果你想要一個專業(yè)一點的程序,最好把它轉換成VB代碼 。圖三顯示了把“c:test”、“我的電腦”指定為位置條上兩個位置后的“打開”對話框 。
圖三:經過定制的“打開”對話框
下面是SetDefaultPlaces.vbs腳本,該程序刪除Placesbar子鍵,恢復默認的位置條設置 。如前所述,除非我們創(chuàng)建了Placesbar子鍵,否則它是不存在的 。如果Win2K/XP找不到Placesbar子鍵,位置條將默認使用標準配置 。
" 常量
const APP_TITLE = "恢復“打開”對話框的位置條"
const REG_PLACESBAR = "HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesComDlg32Placesbar"

推薦閱讀