<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: работа с реестром с помощью объекта JSSys3.dll]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2866</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2866&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: работа с реестром с помощью объекта JSSys3.dll».]]></description>
		<lastBuildDate>Sun, 01 Mar 2009 08:26:30 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: работа с реестром с помощью объекта JSSys3.dll]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=20150#p20150</link>
			<description><![CDATA[<p>Методы <strong>GetRegFromCLSID</strong> и <strong>GetRegFromProgID</strong> позволяют получить информацию о каком-либо зарегистрированном COM-сервере по его CLSID или ProgID соответственно. Оба метода возвращают массив со следующими элементами:<br />Array(0) - код ошибки: 0 - успешно, 1 - класс не найден;<br />Array(1) - CLSID;<br />Array(2) - ProgID;<br />Array(3) - VersionIndependentProgID;<br />Array(4) - InprocServer, путь к файлу DLL;<br />Array(5) - LocalServer, путь к файлу EXE.<br />Пример:<br /></p><div class="codebox"><pre><code>Set oSys = CreateObject(&quot;JSSys3.Ops&quot;)
arr = oSys.GetRegFromProgID(&quot;JSSys3.Ops&quot;)
For i = 0 To UBound(arr)
    WScript.Echo arr(i)
Next
arr = oSys.GetRegFromCLSID(&quot;{F738999A-E160-11D6-B5C6-C78C22D19941}&quot;)
For i = 0 To UBound(arr)
    WScript.Echo arr(i)
Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Sun, 01 Mar 2009 08:26:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=20150#p20150</guid>
		</item>
		<item>
			<title><![CDATA[VBScript: работа с реестром с помощью объекта JSSys3.dll]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=20130#p20130</link>
			<description><![CDATA[<p>Объект <a href="http://forum.script-coding.com/viewtopic.php?pid=20110#p20110">JSSys3.dll</a> предоставляет ряд методов для работы с реестром (см. комментарии в коде примера):<br /></p><div class="codebox"><pre><code>Set oSys = CreateObject(&quot;JSSys3.Ops&quot;)
&#039; запись раздела и значений различных типов:
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;Строка1&quot;, &quot;проба&quot;, &quot;S&quot;) &#039; REG_SZ
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;Строка2&quot;, &quot;%Windir%&quot;, &quot;X&quot;) &#039; REG_EXPAND_SZ
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;Массив строк&quot;, Array(&quot;value1&quot;, &quot;value2&quot;) , &quot;M&quot;) &#039; REG_MULTI_SZ
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;Число&quot;, 123, &quot;D&quot;) &#039; REG_DWORD
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;Бинарное&quot;, Array(100, 0, 255), &quot;B&quot;) &#039; REG_BINARY
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;Бинарное2&quot;, Array(&quot;64&quot;, &quot;00&quot;, &quot;FF&quot;), &quot;BH&quot;) &#039; REG_BINARY

errCode = oSys.RegListKeys(&quot;HKCU&quot;, &quot;Software&quot;, Arr) &#039; чтение массива подразделов
For Each key In Arr
    If key = &quot;_Test&quot; Then
        errCode = oSys.RegListVals(&quot;HKCU&quot;, &quot;Software\_Test&quot;, values) &#039; чтение массива параметров
        For Each value In values &#039; обход имён параметров
            WScript.Echo value &#039; последние два символа имени параметра - его тип
            name = Left(value, Len(value)-2)
            &#039; чтение параметра по имени (vData, vType - выходные переменные)
            errCode = oSys.RegGetValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, name, vData, vType)
            Select Case vType
                Case &quot;S&quot;, &quot;D&quot; &#039; строка или число
                    WScript.Echo vData
                Case &quot;M&quot;, &quot;B&quot; &#039; массив строк или байтов (бинарное)
                    WScript.Echo Join(vData)
            End Select
            WScript.Echo &quot;.&quot;
        Next
        WScript.Echo &quot;==========&quot;
        errCode = oSys.RegListStringData(&quot;HKCU&quot;, &quot;Software\_Test&quot;, values) &#039; чтение массива параметров
        For Each value In values &#039; обход строковых параметров и их значений
            WScript.Echo value &#039; в формате Параметр^СтроковоеЗначение
        Next
        Exit For
    End If
Next

WScript.Echo &quot;==========&quot;
errCode = oSys.RegWriteValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;&quot;, &quot;по умолч.&quot;, &quot;S&quot;) &#039; запись параметра раздела &quot;по умолчанию&quot;
errCode = oSys.RegGetValue(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;&quot;, vData, vType) &#039; чтение параметра раздела &quot;по умолчанию&quot;
Wscript.Echo vData
errCode = oSys.RegDeleteVal(&quot;HKCU&quot;, &quot;Software\_Test&quot;, &quot;&quot;) &#039; удаление параметра (в данном случае - параметра &quot;по умолчанию&quot;)
errCode = oSys.RegDeleteSubkey(&quot;HKCU&quot;, &quot;Software&quot;, &quot;_Test&quot;) &#039; удаление раздела со всем содержимым</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Sat, 28 Feb 2009 21:14:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=20130#p20130</guid>
		</item>
	</channel>
</rss>
