Имя пользователя:
Пароль:
 

Название темы: [решено] Запись в реестр
Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата charon:
Что исправить чтобы работал? »
Для начала — добавить Option Explicit, дабы не попадать в подобные ситуации. Потом правильно научиться вызывать методы классов Wbem, чтобы не писать «не хочет работать», а самому получать и обрабатывать информацию — почему. Наконец, сделав всё это, посмотреть и удивиться — «А чего это я пытаюсь писать в никуда?» и поменять во втором скрипте HKEY_LOCAL_MACHINE на HKEY_CURRENT_USER в обоих вызовах методов.

Вот как примерно мог бы выглядеть данный скрипт
Код: Выделить весь код
Option Explicit

Const HKEY_CURRENT_USER = &H80000001

Dim objSWbemServicesEx


Dim strSubkey
Dim strValueName
Dim arrValues

Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default")
Dim objSWbemObjectEx

Set objSWbemObjectEx = objSWbemServicesEx.Get("StdRegProv")

strSubkey = "Software\Microsoft\Windows\CurrentVersion\Explorer"
strValueName = ";Data"
arrValues = Array(&H00,&H01,&H00,&H00)

If objSWbemObjectEx.CreateKey(HKEY_CURRENT_USER, strSubkey) = 0 Then
	If objSWbemObjectEx.SetBinaryValue(HKEY_CURRENT_USER, strSubkey, strValueName, arrValues) = 0 Then
	Else
		WScript.Echo "Can't set binary values"
	End If
Else
	WScript.Echo "Can't create key"
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:21, 17-12-2017 | #3

Название темы: [решено] Запись в реестр