'Создание ActiveX-объекта на рабочем столе
set wsh1 = WScript.CreateObject("WScript.Shell")

GUID = inputbox("Введите расширение файла (с точкой в начале)", "http://www.onestyle.com.ua, специально для книги", ".txt")
if VarType(GUID) = 0 then
	Wscript.Quit
end if
GUID = RRD(0, "HKCR\" & GUID & "\")

i = 1
Do while i > 0
	Temp = InputBox("Введите название элемента командной строки:", "Занимаемся творчеством", RRD(0, "HKCR\" & GUID & "\shell\" & i & "\"))
	if temp <> "" then wsh1.RegWrite "HKCR\" & GUID & "\shell\" & i & "\", temp, "REG_SZ"
	Temp = InputBox("Введите команду:", "Занимаемся творчеством", RRD(0, "HKCR\" & GUID & "\shell\" & i & "\command\"))
	if temp <> "" then 
		wsh1.RegWrite "HKCR\" & GUID & "\shell\" & i & "\command\", temp, "REG_EXPAND_SZ"
	Else
		i = i - 1
  End if
  i = i + 1
  Temp = MsgBox("Добавить еще одну команду?", vbYesNo, "Занимаемся творчеством")
  if temp = vbNo then i = 0
Loop


'если i=0, то выполняется чтение параметра реестра, если i=1, то выполняется удаление параметра реестра
Function RRD(i, Path)
	set wshTemp = WScript.CreateObject("WScript.Shell")
	On Error Resume Next
	select case i
	case "0"
		RRD = wshTemp.RegRead(Path)

		'проверяем, произошла ли ошибка при чтении параметра реестра
		if err.Number <> 0 then
			err.Clear
		End if
	case "1"
		wshTemp.RegDelete Path

		'проверяем, произошла ли ошибка при удалении параметра реестра
		if err.Number <> 0 then
			err.Clear
		End if
	End select

	'удаляем объект из памяти, чтобы не засорять ее
	Set wshTemp = Nothing
End Function