Делаю следующее.
WbemLocator = new ActiveXObject("WbemScripting.SWbemLocator");
WMIReg = WbemLocator.ConnectServer(null, "root\\default").Get("StdRegProv");
oMethod = WMIReg.Methods_.Item ("SetBinaryValue");
oInParam = oMethod.InParameters.SpawnInstance_();
oInParam.hDefKey = HKEY_CURRENT_USER;
oInParam.sSubKeyName = RegSignaturesPath;
oInParam.sValueName = "New Signature";
oInParam.uValue = ????
Собственно, вопрос, что должно быть вместо ????

Сам код рабочий, но не могу понять что ожидает получить именно метод SetBinaryValue.

С остальными типами параметров всё понятно.
15.11.04 16:04: Перенесено модератором из 'Java' — Blazkowicz
15.11.04 16:50: Перенесено модератором из 'Веб программирование' — TK
Здравствуйте, Владимир Пасашников, Вы писали:
ВП>Делаю следующее.
ВП>WbemLocator = new ActiveXObject("WbemScripting.SWbemLocator");
ВП>WMIReg = WbemLocator.ConnectServer(null, "root\\default").Get("StdRegProv");
ВП>oMethod = WMIReg.Methods_.Item ("SetBinaryValue");
ВП>oInParam = oMethod.InParameters.SpawnInstance_();
ВП>oInParam.hDefKey = HKEY_CURRENT_USER;
ВП>oInParam.sSubKeyName = RegSignaturesPath;
ВП>oInParam.sValueName = "New Signature";
ВП>oInParam.uValue = ????
WMIReg — чё за объект?
ВП>Собственно, вопрос, что должно быть вместо ????
Сам код рабочий, но не могу понять что ожидает получить именно метод SetBinaryValue.
ВП>С остальными типами параметров всё понятно.
Здравствуйте, nii_im_b, Вы писали:
Удалено избыточное цитирование

__>WMIReg — чё за объект?
Собственно это объект который предоставляет доступ к реестру. Это всё работает. Если я зову функцию создания ключа, ключ создаётся. Значение ключа тоже получается. DWORD, SZ и всё остальное записывается. А вот REG_BINARY

Уже день сижу.
Здравствуйте, Владимир Пасашников, Вы писали:
ВП>>>Собственно, вопрос, что должно быть вместо ????
Сам код рабочий, но не могу понять что ожидает получить именно метод SetBinaryValue.
ВП>>>С остальными типами параметров всё понятно.
по идее там должен быть массив двоичных значений
Здравствуйте, Владимир Пасашников, Вы писали:
Удалено избыточное цитирование

__>>WMIReg — чё за объект?
ВП>Собственно это объект который предоставляет доступ к реестру. Это всё работает. Если я зову функцию создания ключа, ключ создаётся. Значение ключа тоже получается. DWORD, SZ и всё остальное записывается. А вот REG_BINARY
Уже день сижу.
по идее тулить можно всё что угодно типа (не знаю как с синтаксисом) uValue = Array('a','b','c')
Удалено избыточное цитирование

Добавлю, что после многочисленных переносов их форума в форум. Потерялся смысл написанного. Т.е. потерялся язык на котором это всё писано — JScript.
Здравствуйте, nii_im_b, Вы писали:
__>Здравствуйте, Владимир Пасашников, Вы писали:
ВП>>>>Собственно, вопрос, что должно быть вместо ????
Сам код рабочий, но не могу понять что ожидает получить именно метод SetBinaryValue.
ВП>>>>С остальными типами параметров всё понятно.
__>по идее там должен быть массив двоичных значений
Угу... Не верьте MSDN.
Ничего там нет. Даже если я вообще не инициализирую переменную, в реестр пишется "01 02".

Вот сижу и думаю, чего же это могло быть. По идеи это должен быть SafeArray. Но у JScript нету типов данных. в общем ничего непонятно.
Гуру помогите, погибаю

!!!
Здравствуйте, Владимир Пасашников, Вы писали:
Удалено избыточное цитирование

o = new ActiveXObject("Wscript.Shell");
//o.regWrite("HKCU\\Test\\dwordParam", 17, "REG_DWORD");
o.regWrite("HKCU\\Test\\binaryParam", 17, "REG_BINARY");
//o.regWrite("HKCU\\Test\\szParam", 17, "REG_SZ");
//o.regWrite("HKCU\\Test\\expand_szParam", 17, "REG_EXPAND_SZ")
попробуй так. Wscript.Shell тоже стандартный активХ
Здравствуйте, nii_im_b, Вы писали:
Удалено избыточное цитирование

__><script>
__>o = new ActiveXObject("Wscript.Shell");
__>//o.regWrite("HKCU\\Test\\dwordParam", 17, "REG_DWORD");
__>o.regWrite("HKCU\\Test\\binaryParam", 17, "REG_BINARY");

Не всегда в MSDN пишут дурь, хотя иногда её и пишут. В общем писать в REG_BINARY через WScript.Shell можно только то что влезает в тип DWORD. Вот и всё. Поэтому и начались поиски альтернативного метода. Так что