<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Исполнение динамического внешнего кода]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11985&amp;type=atom" />
	<updated>2016-09-10T00:16:18Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11985</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107455#p107455" />
			<content type="html"><![CDATA[<p>В общем, не зря говорят: Тот кто ищет, тот всегда найдет. Поставил себе AHK_H 1.1 и начал экспериментировать...</p><p>Перепробовал кучу DLL-библиотек с амерских форумов, пробовал подключать несколько функций из AutoHotkey.dll, но почти всё работало только в некомпилированном виде, а после компиляции выдавало разного рода ошибки, причем DLL-файл не вшивался в EXE, нужно было его иметь рядом со скомпилированным скриптом (или в любом другом месте, как указать директорию).</p><p>В результате все решилось с помощью функции в AHK_H AhkThread(). Я думал, что для нее придется вызывать DllCall, потом держать вместе с EXEшником DLLку, но все оказалось до неприличия просто:<br /></p><div class="codebox"><pre><code>func := AhkThread()
func.ahkExec[ExecVar]</code></pre></div><p>Во время компиляции эта функция сама вызывает AutoHotkey.dll, и что не менее важно для меня, вшивает все в EXEшник. В результате можно на компьютере, где даже никогда не было AHK, спокойно ею пользоваться. По-сути она исполняет код из переменной ExecVar, а добавить туда его перед этим можно многими способами. Код исполняет даже многострочный, пока не пробовал давать ей функции из инклудов, но думаю, что должна обрабатывать.</p><p>Собственно, готовую модель работы я уже протестировал, когда PHP возвращает блок кода, и он исполняется без создания каких-либо дополнительных файлов и в компилированном скрипте. Благодарю всех за дискуссию, что не остались равнодушны <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>P.S. Я понимаю, что AhkExec это стандартная функция AHK_H, но прямым вызовом она не работала.</p>]]></content>
			<author>
				<name><![CDATA[Wexter]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34181</uri>
			</author>
			<updated>2016-09-10T00:16:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107455#p107455</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107444#p107444" />
			<content type="html"><![CDATA[<p>Весь сыр-бор из-за лишних файлов? Задача нормально решается на AutoHotkey_L, просто нужно создать два дополнительных файла рядом с основным.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2016-09-09T18:36:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107444#p107444</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107433#p107433" />
			<content type="html"><![CDATA[<p>Да я пока не изучал подробно, но скорее всего нет.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-09-09T17:09:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107433#p107433</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107432#p107432" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>И что с ним дальше делать? Кроме того, ещё нужен AutoHotkeySC.bin и компилятор.</p></blockquote></div><p>А если скомпилировать скрипт под _H, на другом ПК нужен будет DLL?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-09-09T16:35:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107432#p107432</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107395#p107395" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Если на оффсайте разместят _H, то все спокойно перейдут, мне кажется.</p></blockquote></div><p>Так он уже размещен на оффсайте:<br /><a href="https://autohotkey.com/">https://autohotkey.com/</a><br />В разделе Forks.<br />Кстати тут разумно пишут, какую версию стоит выбрать:<br /><a href="http://maul-esel.github.io/ahkbook/en/What-Version-To-Choose.html">http://maul-esel.github.io/ahkbook/en/W … hoose.html</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-09-07T15:43:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107395#p107395</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107394#p107394" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>Ну так можно скачать сразу exe.</p></blockquote></div><p>И что с ним дальше делать? Кроме того, ещё нужен AutoHotkeySC.bin и компилятор.</p><div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>Если на оффсайте разместят _H, то все спокойно перейдут, мне кажется.</p></blockquote></div><p>Даже с AHK-basic годами многие не могли перейти.</p><div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>после небольшого знакомства с AutoIt, пытался освоить AHK и был в ужасе от нелогичного синтаксиса</p></blockquote></div><p>Новичок не знает, что такое логичный или нелогичный синтаксис. Я просто открыл русский хэлп и сразу стал программировать.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-09-07T15:03:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107394#p107394</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107392#p107392" />
			<content type="html"><![CDATA[<p>Ну так можно скачать сразу exe.<br />Также можно сказать про AHK_L - он просто не нужен для новичков, им достаточно Basic.<br />Если на оффсайте разместят _H, то все спокойно перейдут, мне кажется.<br />Вопрос к ним, наверно.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2016-09-07T14:39:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107392#p107392</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107391#p107391" />
			<content type="html"><![CDATA[<p>Не-а, он просто не нужен для новичков. Так зачем им ещё какую-то dll устанавливать, когда они даже не знают, что это такое.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-09-07T14:36:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107391#p107391</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107390#p107390" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, как одно противоречит другому? AHK_H делает язык непонятным для новичков?<br />Автоматическую установку даже я мог бы сделать <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2016-09-07T14:31:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107390#p107390</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107389#p107389" />
			<content type="html"><![CDATA[<p>Это не тот Sleep, это посыл клавиши Sleep.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-09-07T14:29:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107389#p107389</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107388#p107388" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Или как вариант, если код известен (свой), то переносить в файл анк, указав в #Include *i к нему путь, и запустить свой скомпилированный с параметром ком. строки и директивой #SingleInstance Off перейдя в метку с Include.</p></blockquote></div><p>А что это даст? Инклюды же вроде тоже компилируются, а не динамически выполняются.</p></blockquote></div><p>А, правильно, с компилированными редко работаю, привычка.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-09-07T14:26:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107388#p107388</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107387#p107387" />
			<content type="html"><![CDATA[<p>_H обещает поддержку sleep в команде send, что интересно,<br />в _L тоже можно использовать sleep, только ведет себя он как-то странно (времени проходит раз в 15 больше).<br /></p><div class="codebox"><pre><code>Send tic{sleep 100}tak</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2016-09-07T14:24:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107387#p107387</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107386#p107386" />
			<content type="html"><![CDATA[<p>Почитал немного, интересно, конечно. Но AHK_H вряд ли станет столь же популярным, как AHK_L. Дело в том, что AHK позиционируется как язык, лёгкий для изучения новичками в программировании, а фишки, которые предлагает AHK_H, могут быть использованы лишь опытными разработчиками. Да ещё и требуется ручная установка.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-09-07T14:23:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107386#p107386</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107383#p107383" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Кстати давно хотел спросить, а что мешает всем дружно перейти на AutoHotkey_H? Он же вроде с кучей плюшек.</p></blockquote></div><p>Как я понял, для того, чтобы получить эти плюшки в автохотки, необязательно переходить на&nbsp; AHK_H, а достаточно вызывать AutoHotkey.dll от AHK_H.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-09-07T09:17:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107383#p107383</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Исполнение динамического внешнего кода]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107382#p107382" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Каждому в отдельности ничего не мешает, а всем вместе — AHK_L более популярен.</p></blockquote></div><p>Кто-то тут у нас должен перейти, изучить и начать бешено рекламировать возможности АНК_Н, постя код с этими самыми плюшками. Тогда, глядишь, народ начнёт подтягиваться. А так, с порога, даже не очень понятно, что это за АНК_Н, где его брать, как использовать, чем отличается. В общем, как в пословице: рубль тому, кто придумал, десять тому, кто сделал, и сто тому, кто продал. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Если последнего нет, то будет прозябание на обочине и широкая популярность в узких кругах.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2016-09-07T02:56:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107382#p107382</id>
		</entry>
</feed>
