' ========================= ' Slava Antonov (c) 2005 ' deadbeef@so.yandex.ru ' http://slava.fateback.com ' ========================= ' ' Этот скрипт позволяет добавлять и удалять элементы из ' ветки реестра: ' HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ ' Const ParentRegKey = "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\" Const S_EnterNick = "Введите сокращение для программы" Const S_EnterNickPath = "Введите полный путь к программе" Const S_DeleteNick = "Вы действительно хотите удалить запись из реестра?" Const S_DeleteNickError = "Не удается удалить запись из реестра" Const S_AddNickError = "Не удается добавить запись в реестр" Set WshShell = WScript.CreateObject("WScript.Shell") Dim AddNick ' 1 - добавить запись в реестр ' 0 - удалить запись из реестра Dim Nick ' сокращение для папки или программы Dim NickPath ' Полный путь к папке или программе ' Включаем обработку ошибок On Error Resume Next ' Запрашиваем сокращение Nick = InputBox(S_EnterNick) If Not Nick = "" Then ' Проверяем существует ли уже запись в реестре NickPath = WshShell.RegRead(ParentRegKey & Nick & ".exe\") If Not NickPath = "" Then ' Запись уже есть в реестре ' Запрашиваем подтверждение на удаление ее из реестра Dim Answer Answer = MsgBox(S_DeleteNick, vbYesNo + vbQuestion, Nick) If Answer = vbYes Then WshShell.RegDelete(ParentRegKey & Nick & ".exe\") If Not Err = 0 Then MsgBox S_DeleteNickError, vbCritical, Nick Err.Clear End If End If Else ' Запись не найдена Err.Clear ' Запрашиваем полный путь к программе NickPath = InputBox(S_EnterNickPath) If Not NickPath = "" Then WshShell.RegWrite ParentRegKey & Nick & ".exe\", NickPath If Not Err = 0 Then MsgBox S_AddNickError, vbCritical, Nick Err.Clear End If End If End If End If On Error GoTo 0