<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Реестр: Перетаскивание файлов и папок на значок HTA-приложения]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=1095&amp;type=atom" />
	<updated>2008-01-29T05:51:56Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=1095</id>
		<entry>
			<title type="html"><![CDATA[Реестр: Перетаскивание файлов и папок на значок HTA-приложения]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=8462#p8462" />
			<content type="html"><![CDATA[<p>HTA позволяют при вызове указывать аргументы, однако передать в качестве аргумента пути к файлам и папкам перетащив их в Проводнике на значок приложения нельзя.<br />Чтобы исправить это упущение, можно использовать соответствующее расширение оболочки для сценариев WSH:<br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\htafile\shellex\DropHandler]
@=&quot;{60254CA5-953B-11CF-8C96-00AA00B8708C}&quot;</code></pre></div><p>Можно также использовать расширение оболочки для .exe, .com, .bat, ... файлов:<br /></p><div class="codebox"><pre><code>REGEDIT4

[HKEY_CLASSES_ROOT\htafile\shellex\DropHandler]
@=&quot;{86C86720-42A0-1069-A2E8-08002B30309D}&quot;</code></pre></div><p>но в этом случае пути передаются в коротком (8.3) формате. Предполагаю, что это происходит потому, что hta-файл не имеет расширения &quot;.bat&quot; или &quot;.cmd&quot; и не является 32-разрядным Windows-приложением.</p><p>Если нет желания вносить изменения в реестр, то для решения задачи для отдельно взятого hta-приложения можно создать ярлык на mshta.exe указав в качестве аргумента <span class="bbu">полный</span> путь к hta-файлу (в кавычках, если он содержит пробелы) и выполнять перетаскивание на этот ярлык. Кстати, в этом случае можно использовать расширение отличное от &quot;.hta&quot;.</p><p>Простой пример для тестирования:<br /></p><div class="codebox"><pre><code>&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META http-equiv=&#039;Content-Type&#039; content=&#039;text/html; charset=windows-1251&#039;&gt;
&lt;HTA:APPLICATION id=&#039;App&#039;/&gt;
&lt;/HEAD&gt;

&lt;BODY&gt;
&lt;PRE&gt;
Командная строка:
&lt;STRONG&gt;&lt;SCRIPT language=&#039;JavaScript&#039;&gt;
document.write(App.commandLine);
&lt;/SCRIPT&gt;&lt;/STRONG&gt;

Рабочая папка:
&lt;STRONG&gt;&lt;SCRIPT language=&#039;JavaScript&#039;&gt;
document.write(
  (new ActiveXObject(&quot;WScript.Shell&quot;)).CurrentDirectory
);
&lt;/SCRIPT&gt;&lt;/STRONG&gt;&lt;/PRE&gt;
&lt;/BODY&gt;&lt;/HTML&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2008-01-29T05:51:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=8462#p8462</id>
		</entry>
</feed>
