<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: как запретить параметр, сохранив его значение?]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5984</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5984&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: как запретить параметр, сохранив его значение?».]]></description>
		<lastBuildDate>Fri, 08 Jul 2011 19:09:11 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: как запретить параметр, сохранив его значение?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49778#p49778</link>
			<description><![CDATA[<p>Я скажу даже большее...<br />У меня в XP SP3 (IE8) параметр <em>AutoConfigURL</em> не имеется по указанному адресу. Но с помощью продвинутого редактора реестра нашёлся адрес ссылки на прокси, который сохраняется в бинарном параметре <em>DefaultConnectionSettings</em> по адресу <em>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections</em><br />Начал изучение... и опытным путём получил вот такие данные.</p><div class="codebox"><pre><code>Параметр содержащий тестовый адрес с включённой галочкой:

46 00 00 00 55 00 00 00 05 00 00 00 00 00 00 00
00 00 00 00 1C 00 00 00 68 74 74 70 3A 2F 2F 6C
6F 63 61 6C 68 6F 73 74 3A 30 2F 70 72 6F 78 79
2E 70 61 63 00 00 00 00 00 00 00 00 C0 76 A9 66
B7 AE C9 01 03 00 00 00 C3 07 02 7F C0 A8 66 01
C0 A8 D9 01 00 00 00 00 00 00 00 00 01 00 00 00
02 00 00 00 C0 A8 01 78 00 00 00 00 00 00 00 00
60 94 00 68 38 96 00 68 22 9A 00 68 24 BA 00 68
8A BF 00 68 8E 6C 00 68 00 71 00 68 BA 74 00 68
56 7E 00 68 A0 7F 00 68 D1 82 00 68 22 DA 00 68
0A DF 00 68 A7 D7 00 68 62 95 00 68 6D 9E 00 68
9C 9F 00 68 6F A5 00 68 91 C8 00 68 00 00 00 00
AE AA 00 68 2E 85 00 68 00 00 00 00 00 00 00 68
D4 12 4D E3 00 00 00 00 01 00 00 00 00 00 00 00</code></pre></div><div class="codebox"><pre><code>Параметр содержащий тестовый адрес с снятой галочкой:

46 00 00 00 56 00 00 00 01 00 00 00 00 00 00 00
00 00 00 00 1C 00 00 00 68 74 74 70 3A 2F 2F 6C
6F 63 61 6C 68 6F 73 74 3A 30 2F 70 72 6F 78 79
2E 70 61 63 00 00 00 00 00 00 00 00 C0 76 A9 66
B7 AE C9 01 03 00 00 00 C3 07 02 7F C0 A8 66 01
C0 A8 D9 01 00 00 00 00 00 00 00 00 01 00 00 00
02 00 00 00 C0 A8 01 78 00 00 00 00 00 00 00 00
60 94 00 68 38 96 00 68 22 9A 00 68 24 BA 00 68
8A BF 00 68 8E 6C 00 68 00 71 00 68 BA 74 00 68
56 7E 00 68 A0 7F 00 68 D1 82 00 68 22 DA 00 68
0A DF 00 68 A7 D7 00 68 62 95 00 68 6D 9E 00 68
9C 9F 00 68 6F A5 00 68 91 C8 00 68 00 00 00 00
AE AA 00 68 2E 85 00 68 00 00 00 00 00 00 00 68
D4 12 4D E3 00 00 00 00 01 00 00 00 00 00 00 00</code></pre></div><p>Отличия только в двух байтах:<br />&nbsp; &nbsp; 46 00 00 00 <strong>55</strong> 00 00 00 <strong>05</strong> 00 00 00 00 00 00 00<br />&nbsp; &nbsp; 46 00 00 00 <strong>56</strong> 00 00 00 <strong>01</strong> 00 00 00 00 00 00 00<br />Как вариант, импортировать заточенные данные в реестр скриптом, или же вкурить формат формирования бинарного формата <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Ну может у меня данная особенность, но параметра <em>AutoConfigURL</em> нету</p>]]></description>
			<author><![CDATA[null@example.com (VSVLAD)]]></author>
			<pubDate>Fri, 08 Jul 2011 19:09:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49778#p49778</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: как запретить параметр, сохранив его значение?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49765#p49765</link>
			<description><![CDATA[<div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>Предлагаю отследить изменения состояния реестра с установленной и снятой вручную галочки, т.е. похоже, что в реестре есть еще некий параметр, работающий &quot;в паре&quot; с хранящим строку. Можете, например, использовать regmon.exe от Sysinternals Марка Руссиновича.</p></blockquote></div><p>Rom5,</p><p>то, что я вижу - объяснить не могу.<br />При снятой галочке текстового содержимого <em>Адреса</em> в реестре просто нет!<br />Вот так: в сером поле в диалоговом окне я его вижу, а поиск по реестру дает нулевой результат.</p><p>Предварительный вывод: это значение на самом деле хранится где-то в другом месте.<br />Но где?</p>]]></description>
			<author><![CDATA[null@example.com (Slav)]]></author>
			<pubDate>Fri, 08 Jul 2011 12:47:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49765#p49765</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: как запретить параметр, сохранив его значение?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49738#p49738</link>
			<description><![CDATA[<p>Предлагаю отследить изменения состояния реестра с установленной и снятой вручную галочки, т.е. похоже, что в реестре есть еще некий параметр, работающий &quot;в паре&quot; с хранящим строку. Можете, например, использовать regmon.exe от Sysinternals Марка Руссиновича.</p>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Thu, 07 Jul 2011 18:32:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49738#p49738</guid>
		</item>
		<item>
			<title><![CDATA[VBS: как запретить параметр, сохранив его значение?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49674#p49674</link>
			<description><![CDATA[<p>Добрый день, коллеги.</p><p>Итак, имеем IE8:<br /><em>Сервис - Свойства обозревателя - Подключения - Настройка сети</em>.</p><p>В открывшемся окне видим, в частности чекбокс <em>Использовать сценарий автоматической настройки </em>и под ним строковый параметр <em>Адрес</em>.</p><p>Для дальнейших экспериментов - если строка <em>Адрес</em> пустая - нужно что-то в неё ввести, например совершенно безобидный параметр:<br /><em>http://localhost:0/proxy.pac</em><br />Очевидно, что перед этим необходимо поставить галку в чекбоксе <em>Использовать сценарий автоматической настройки </em>.</p><p>Теперь Вы легко можете убедиться, что выставляя или снимая галку в чекбоксе <em>Использовать сценарий автоматической настройки </em>, строковый параметр <em>Адрес</em> становится активным или &quot;серым&quot;.<br />Но! При этом записанное в него значение сохраняется.<br />Можно выходить, снова входить в IE - значение все равно сохраняется, даже если чекбокс не отмечен.</p><p>За значение этого параметра отвечает параметр реестра:<br /><em>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings - AutoConfigURL</em></p><p>Заковыка в том, что в этом параметре как раз и хранится введенная строка.<br />Перерыл весь ИНЕТ - никак не могу понять, как манипулировать именно чекбоксом?<br />Как &quot;снять галочку&quot; - но сохранить строковое значение адреса?</p><p>Везде один совет - установить <em>AutoConfigURL</em> пустой строкой.<br />Но я так не хочу делать - тогда я теряю значение.<br />Как мне сделать в скрипте то же самое, что я легко делаю руками - снимаю галочку, сохраняя значение адреса?</p><p>Сам скрипт прост - секрет где-то в реестре:<br /></p><div class="codebox"><pre><code>  DIM sKey, sValue, strValue 
  Dim oReg 

  Set oReg=GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv&quot;)  
  Const HKCU = &amp;H80000001 
  
&#039; AutoConfig
  sKey   = &quot;Software\Microsoft\Windows\CurrentVersion\Internet Settings&quot;
  sValue = &quot;AutoConfigURL&quot;
  strValue = &quot;&quot;
  oReg.SetStringValue HKCU, sKey, sValue, strValue
&#039;  oReg.DeleteValue HKCU, sKey, sValue

  WScript.Quit 0</code></pre></div><p>Скрипт заменяет адрес на пустышку, и чекбокс действительно снимается (если он перед этим был отмечен галочкой).<br />Еще раз повторю - я хочу только снять чекбокс, не затирая значение адреса.</p>]]></description>
			<author><![CDATA[null@example.com (Slav)]]></author>
			<pubDate>Wed, 06 Jul 2011 13:49:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49674#p49674</guid>
		</item>
	</channel>
</rss>
