<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; 1Cv7.7: открытие MD-файла двойным щелчком из Проводника]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=396&amp;type=atom" />
	<updated>2007-07-25T17:35:59Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=396</id>
		<entry>
			<title type="html"><![CDATA[Re: 1Cv7.7: открытие MD-файла двойным щелчком из Проводника]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=3671#p3671" />
			<content type="html"><![CDATA[<p>Другой вариант решения проблемы (идею опубликовал <strong>tvm</strong>). Добавляем в контекстное меню Проводника для папок команду &quot;Зарегистрировать базу 1С:Предприятия 7.7&quot;. Текст скрипта &quot;register_base.vbs&quot;, регистрирующего базу:<br /></p><div class="codebox"><pre><code>Dim objArgs
Dim fso, result
Const HKEY_CURRENT_USER = &amp;H80000001
&#039; получим имя папки
Set objArgs = WScript.Arguments
&#039; проверим есть ли в ней md
filespec = objArgs(0) &amp; &quot;\1cv7.md&quot;
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
If (fso.FileExists(filespec)) Then
    result = 1
Else
    result = 0
End If
&#039;если есть md то получим пути всех баз и проверим не зарегена ли уже
If result = 1 Then
Set oRegProv = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv&quot;)
    strKeyPath = &quot;Software\1C\1Cv7\7.7\Titles&quot;
    iRes = oRegProv.EnumValues(HKEY_CURRENT_USER, strKeyPath, arrValues)
    strpath = join(arrValues,&quot;;&quot;)
    if instr(1,strPath,objArgs(0))&lt;=0 Then &#039; если нет в списке то добавим
        name = InputBox(&quot;Укажите имя базы&quot;)
        &#039;MsgBox name
        oRegProv.SetStringValue HKEY_CURRENT_USER,strKeyPath,objArgs(0)&amp;&quot;\&quot;,name
    Else &#039;если есть то спросим что делать
        If MsgBox(&quot;Эта база уже зарегистрирована.&quot; &amp; VbCrLf &amp; &quot;Удалить из списка?&quot;,vbOKCancel)=1 Then
            oRegProv.DeleteValue HKEY_CURRENT_USER,strKeyPath,objArgs(0)&amp;&quot;\&quot;
        End If
    end If
End If</code></pre></div><p>Текст reg-файла, провешивающего команду контекстного меню:<br /></p><div class="codebox"><pre><code>Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Register1CBase]
@=&quot;зарегить базу&quot;

[HKEY_CLASSES_ROOT\Directory\shell\Register1CBase\command]
@=&quot;wscript.exe /nologo \&quot;D:\\wsh\\register_base.vbs\&quot; \&quot;%1\&quot;&quot;</code></pre></div><p>Скрипт при запуске проверяет, есть ли в указанной папке md-файл. Если есть, то получает список зарегистрированных баз и смотрит, не прописана ли уже эта папка. Если не прописана, то добавляет, а если прописана, то предагает удалить.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2007-07-25T17:35:59Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=3671#p3671</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[1Cv7.7: открытие MD-файла двойным щелчком из Проводника]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=2431#p2431" />
			<content type="html"><![CDATA[<p>По мотивам статьи <a href="http://www.script-coding.com/ContMenuExpl.html">Настройка контекстного меню Проводника</a>.</p><p>Когда баз 1С v7.7 становится много, надоедает регистрировать их в диалоге &quot;Запуск 1С Предприятия&quot;. В такой ситуации удобнее пользоваться любимым файловым менеджером, запуская 1С просто щелчком по файлу конфигурации .MD.</p><p>Для этого удобно зарегистрировать четыре команды контекстного меню Проводника Windows для MD-файлов: &quot;Конфигуратор&quot;, &quot;Монитор&quot;, &quot;Предприятие&quot; и &quot;Предприятие монопольно&quot;, чтобы при этом команда &quot;Конфигуратор&quot; была командой по умолчанию, т.е. использовалась при двойном щелчке по файлу.<br /></p><div class="codebox"><pre><code>Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.MD]
@=&quot;mdfile&quot;

[HKEY_CLASSES_ROOT\mdfile]

[HKEY_CLASSES_ROOT\mdfile\shell]

[HKEY_CLASSES_ROOT\mdfile\shell\open]
@=&quot;Конфигуратор&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open\command]
@=&quot;\&quot;C:\\Program Files\\1Cv77\\BIN\\1cv7s.exe\&quot; config /D\&quot;%1\\..\&quot;&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open2]
@=&quot;Монитор&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open2\command]
@=&quot;\&quot;C:\\Program Files\\1Cv77\\BIN\\1cv7s.exe\&quot; monitor /D\&quot;%1\\..\&quot;&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open3]
@=&quot;Предприятие&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open3\command]
@=&quot;\&quot;C:\\Program Files\\1Cv77\\BIN\\1cv7s.exe\&quot; enterprise /D\&quot;%1\\..\&quot;&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open4]
@=&quot;Предприятие монопольно&quot;

[HKEY_CLASSES_ROOT\mdfile\shell\open4\command]
@=&quot;\&quot;C:\\Program Files\\1Cv77\\BIN\\1cv7s.exe\&quot; enterprise /m /D\&quot;%1\\..\&quot;&quot;</code></pre></div><p>Использование: скопируйте вышеприведённый код в текстовый файл с расширением .reg и запустите этот файл двойным щелчком. После этого у вас должны появиться упомянутые команды в контекстном меню Проводника.</p><p>Примечание: если у вас 1С установлена не в <strong>C:\Program Files\1Cv77\</strong> и/или исполняемый файл называется не <strong>1cv7s.exe</strong>, исправьте код соответствующим образом перед запуском reg-файла.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2007-04-05T06:47:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=2431#p2431</id>
		</entry>
</feed>
