<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: создание ярлыка для сетевого подключения]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=1596&amp;type=atom" />
	<updated>2008-11-20T07:23:15Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=1596</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: создание ярлыка для сетевого подключения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=16125#p16125" />
			<content type="html"><![CDATA[<p>Существует ещё один способ создать ярлык для существующего в телефонной книге удалённого подключения. Он заключается в создании текстового файла с произвольным именем и расширением «rnk» в кодировке ANSI (windows-1251), имеющего структуру ini-файла следующего вида:<br />* имя секции:<br /></p><div class="codebox"><pre><code>[Dial-Up Shortcut]</code></pre></div><p>* параметры (порядок параметров внутри секции не важен):<br /></p><div class="codebox"><pre><code>Phonebook=&lt;полный путь к телефонной книге&gt;
Entry=&lt;имя существующего подключения из телефонной книги&gt;</code></pre></div><p>Пример: <strong><em>C:\Documents and Settings\User\Рабочий стол\Мой Интернет.rnk</em></strong><br /></p><div class="codebox"><pre><code>[Dial-Up Shortcut]
Entry=Интернет
Phonebook=C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk</code></pre></div><p>Созданный ярлык по поддерживаемым действиям аналогичен «обычному» помещению ярлыка существующего подключения на рабочий стол (за исключением некоторых деталей, о которых ниже). Функции подключения, отключения и редактирования свойств подключения, указанного ярлыком, выполняет связанное с типом файлов «rnk» приложение RasPhone.exe — «Телефонная книга удаленного доступа».</p><p><em>Подключить</em>:<br /></p><div class="codebox"><pre><code>rasphone.exe -lt &quot;C:\Documents and Settings\User\Рабочий стол\Мой Интернет.rnk&quot;</code></pre></div><p><em>Отключить</em>:<br /></p><div class="codebox"><pre><code>rasphone.exe -lh &quot;C:\Documents and Settings\User\Рабочий стол\Мой Интернет.rnk&quot;</code></pre></div><p><em>Изменение настроек подключения</em>:<br /></p><div class="codebox"><pre><code>rasphone.exe -le &quot;C:\Documents and Settings\User\Рабочий стол\Мой Интернет.rnk&quot;</code></pre></div><p><strong>Замечание</strong>.<br />Поскольку в современных операционных системах описанная возможность оставлена, скорее, для совместимости, то:<br />* пункты контекстного меню в локализованной версии Windows XP выглядят как «Connect», «Disconnect» и «Edit connection properties»;<br />* вызов команды контекстного меню «Edit connection properties» приводит к появлению диалогового окна со справкой по ключам приложения RasPhone.exe.</p><p>Локализовать контекстное меню можно в стиле Windows XP так: <strong><em>rnkfile - Localize like XP.reg</em></strong><br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\rnkfile\shell\Connect]
@=&quot;&amp;Подключить&quot;

[HKEY_CLASSES_ROOT\rnkfile\shell\Disconnect]
@=&quot;&amp;Отключить&quot;

[HKEY_CLASSES_ROOT\rnkfile\shell\Edit Connection Properties]
@=&quot;&amp;Изменение настроек подключения&quot;</code></pre></div><p>Либо в стиле Windows NT: <strong><em>rnkfile - Localize like NT.reg</em></strong><br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\rnkfile\shell\Connect]
@=&quot;&amp;Набрать номер&quot;

[HKEY_CLASSES_ROOT\rnkfile\shell\Disconnect]
@=&quot;&amp;Повесить трубку&quot;

[HKEY_CLASSES_ROOT\rnkfile\shell\Edit Connection Properties]
@=&quot;&amp;Изменить запись или параметры модема&quot;</code></pre></div><p>Следующий файл восстановит значения по умолчанию для Windows XP: <strong><em>rnkfile - Localize Restore XP default.reg</em></strong><br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\rnkfile\shell\Connect]
@=-

[HKEY_CLASSES_ROOT\rnkfile\shell\Disconnect]
@=-

[HKEY_CLASSES_ROOT\rnkfile\shell\Edit Connection Properties]
@=-</code></pre></div><p>Ошибка при вызове команды контекстного меню «Edit connection properties» происходит оттого, что в записи реестра хранится вызов приложения RasPhone.exe с более не поддерживаемым ключом «-v». Исправить ситуацию поможет следующий файл: <strong><em>rnkfile - Make Available [Edit Connection Properties] command.reg</em></strong><br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\rnkfile\shell\Edit Connection Properties\command]
@=&quot;C:\\WINDOWS\\system32\\rasphone.exe -le \&quot;%1\&quot;&quot;</code></pre></div><p>Следующий файл восстановит значения по умолчанию для Windows XP <em>[не знаю к чему, но, коль полагается, — прикладываю]</em>: <strong><em>rnkfile - [Edit Connection Properties] Restore XP default.reg</em></strong><br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\rnkfile\shell\Edit Connection Properties\command]
@=&quot;C:\\WINDOWS\\system32\\rasphone.exe -v -le \&quot;%1\&quot;&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2008-11-20T07:23:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=16125#p16125</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: создание ярлыка для сетевого подключения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=11627#p11627" />
			<content type="html"><![CDATA[<p>Создание ярлыка на Рабочем столе для существующего сетевого подключения (VPN или любого другого). В коде вместо &quot;Имя соединения&quot; укажите полное наименование нужного сетевого подключения, так, как оно отображается в папке Проводника &quot;Сетевые подключения&quot;.<br /></p><div class="codebox"><pre><code>Option Explicit

Const ssfCONNECTIONS = &amp;H0031
Const ssfDESKTOP = &amp;H0000
&#039;Const ssfCOMMON_DESKTOPDIRECTORY = &amp;H0019

Dim objShell
Dim objFolderConnections
Dim objFolderDesktop
&#039;Dim objFolderAllUsersDesktop
Dim objSubFolder


Set objShell = WScript.CreateObject(&quot;Shell.Application&quot;)
Set objFolderConnections = objShell.NameSpace(ssfCONNECTIONS)

If (Not objFolderConnections Is Nothing) Then
    For Each objSubFolder In objFolderConnections.Items
        If objSubFolder.Name = &quot;Имя соединения&quot; Then
            Set objFolderDesktop = objShell.NameSpace(ssfDESKTOP) &#039;objFolderAllUsersDesktop
            
            If (Not objFolderDesktop Is Nothing) Then
                objFolderDesktop.CopyHere objSubFolder
            End If
        End If
    Next
End If

Set objFolderDesktop = Nothing &#039; objFolderAllUsersDesktop
Set objFolderConnections = Nothing
Set objShell = Nothing

WScript.Quit 0</code></pre></div><p>При повторном исполнении скрипта на Рабочем столе появится ещё один ярлык с именем «Имя соединения (2)», «Имя соединения (3)» и т.д.<br />Автор скрипта - <strong>alexii</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2008-06-20T08:33:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=11627#p11627</id>
		</entry>
</feed>
