? Константы
const APP_TITLE = «SetPlaces»
const REG_PLACESBAR = «HKCUSoftwareMicrosoftWindowsCurrentVersionPolicies
ComDlg32Placesbar»
?———————————————————————————————-
Dim place   ? содержит place-номер
Dim canContinue  ? boolean guard
? Пробуем получить place-номер, с которым работаем в настоящий момент
canContinue = True
While canContinue
 place = InputBox(«Enter the place number (0 thru 4)», APP_TITLE, 0)
 ? Завершаем программу без обработки
 If place = «» Then
 WScript.Quit
 End If
 If place > 4 Then
 MsgBox «Invalid place number!», 16, APP_TITLE
 Else
 ? Получили place-номер, теперь читаем реестр
 ChangePlace place
 End If
Wend
?———————————————————————————————-
? ChangePlace (place)
?———————————————————————————————-
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 = «the default item»
 buf = «»
 buf = buf & «Place» & place & « is currently set to « & _
 Chr(34) & curPath & Chr(34) & vbCrLf & vbCrLf & _
 «Click YES to set a file system folder» & vbCrLf & _
 «Click NO to set a special system folder» & vbCrLf & _
 «Click CANCEL to exit» 
 rc = MsgBox(buf, 3, APP_TITLE)

 ? YES=6, NO=7, CANCEL=2
 If rc = vbCancel Then Exit Sub
 ? Изменяем place-номер
 Select Case rc
 Case vbYes
 newPath = InputBox(«Enter the new folder path», APP_TITLE, curPath)
 If newPath = «» Then Exit Sub
 theType = «REG_SZ»
 Case vbNo
 buf = «»
 buf = buf & «Choose the new folder.» & vbCrLf & vbCrLf & _
   «5 — My Documents» & vbCrLf & _
   «6 — Favorites» & vbCrLf & _
   «17 — My Computer» & vbCrLf & _
   «18 — My Network Places» & vbCrLf & _
   «36 — Windows» & vbCrLf & _
   «34 — History»
 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

Поделитесь материалом с коллегами и друзьями