<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Добавление ресурсов директивой компилятора]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=16518</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16518&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Добавление ресурсов директивой компилятора».]]></description>
		<lastBuildDate>Thu, 05 Aug 2021 13:56:34 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Добавление ресурсов директивой компилятора]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=149147#p149147</link>
			<description><![CDATA[<p>Переменные при добавлении ресурсов не работают, нужен буквальный путь текстом.<br />Нельзя загрузить dll непосредственно из ресурса, нужно сначала выгрузить в файл, либо использовать довольно сложный и объёмный код для загрузки dll в память.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 05 Aug 2021 13:56:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=149147#p149147</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Добавление ресурсов директивой компилятора]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=149146#p149146</link>
			<description><![CDATA[<p>Прописал полный путь:<br /></p><div class="codebox"><pre><code>
test := StrReplace(A_ScriptFullPath, &quot;\&quot;, &quot;/&quot;)
dllFile := (A_PtrSize=8) ? &quot;res://&quot; test &quot;/10/64.dll&quot; : &quot;res://&quot; test &quot;/10/32.dll&quot;
</code></pre></div><p>И так тоже:<br /></p><div class="codebox"><pre><code>
dllFile := (A_PtrSize=8) ? A_ScriptFullPath &quot;\64.dll&quot; : A_ScriptFullPath &quot;\32.dll&quot;
</code></pre></div><p>Не сработало.</p><p>Если только 1 версию оставить (64), то ошибок нет при запуске, но вот команды не работают:<br /></p><div class="codebox"><pre><code>
if !this.hModule := DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, A_ScriptFullPath, &quot;Ptr&quot;)
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Thu, 05 Aug 2021 13:34:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=149146#p149146</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Добавление ресурсов директивой компилятора]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=149142#p149142</link>
			<description><![CDATA[<div class="quotebox"><cite>Botsy пишет:</cite><blockquote><p>чтобы спрятать их от общего доступа?</p></blockquote></div><p>Нет, будут обычными ресурсами, которые видны через ResHacker и аналогичные менеджеры ресурсов.</p><div class="quotebox"><cite>Botsy пишет:</cite><blockquote><p>Пишет ошибку к пути .dll</p></blockquote></div><p>Укажите полный путь.</p><div class="quotebox"><cite>Botsy пишет:</cite><blockquote><p>А так же как указать путь к файлам в папке, а не к самим файлам?</p></blockquote></div><p>Чтобы запихнуть большое количество файлов, создайте zip-архив и включите одним файлом. После распаковки ресурса распакуйте zip (ищите примеры на форуме ahk).</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 05 Aug 2021 13:02:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=149142#p149142</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Добавление ресурсов директивой компилятора]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=149140#p149140</link>
			<description><![CDATA[<p>Добрый день. </p><p>Правильно ли я понимаю, что ресурсы добавляются в исполняемый файл чтобы спрятать их от общего доступа? Т.е. вместо .exe файла и еще &quot;какой-то&quot; папки, будет только один .exe. Если это так, то ресурсы нельзя будет достать через &quot;Resource Hacker&quot; после какого-нибудь MPress? </p><p>Попробовал добавить dll файл в .exe. Пишет ошибку к пути .dll. Нашел <a href="http:////www.autohotkey.com/boards/viewtopic.php?t=90580&amp;p=399933">эту тему</a>, там похожее, но я не понял. А как правильно указать путь?<br /></p><div class="codebox"><pre><code>
;@Ahk2Exe-AddResource 64.dll
;@Ahk2Exe-AddResource 32.dll

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

LoadDll() 
{
	dllFile := (A_PtrSize=8) ? &quot;res://test_comp.exe/10/64.dll&quot; : &quot;res://test_comp.exe/10/32.dll&quot;
		if !this.hModule := DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, dllFile, &quot;Ptr&quot;) 
		{
			if !FileExist(dllFile) 
			{
				OnException(&quot;Ошибка с библиотекой: 1&quot;)
				Exit
			}
			OnException(&quot;Ошибка с соединением: 2&quot;)
			Exit
		}
	this.dllFile := dllFile
}

return

F12::ExitApp
</code></pre></div><p>Аналогичная ситуация с модулем <a href="http:////github.com/iseahound/Vis2">OCR</a>. Не знаю только, возможно ли всё это включить в .exe. <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><a href="https://ibb.co/mNQv42b"><span class="postimg"><img src="https://i.ibb.co/tLyZDvQ/ocr.jpg" alt="https://i.ibb.co/tLyZDvQ/ocr.jpg" /></span></a></p><p>Включил .exe в ресурсы, но как быть с файлами которые идут вместе с exe (на картинке файлы в папке leptonica_util)? leptonica_util.exe использует же их.<br />А так же как указать путь к файлам в папке, а не к самим файлам? tessdata_best и tessdata_fast - выбирает нужный языковой файл в папке, в зависимости от того, какой язык выбирается.</p><div class="codebox"><pre><code>
;@Ahk2Exe-AddResource bin\leptonica_util\leptonica_util.exe
;@Ahk2Exe-AddResource bin\tesseract\tesseract.exe

static leptonica := &quot;res://test.exe/10/leptonica_util.exe&quot; 
static tesseract := &quot;res://test.exe/10/tesseract.exe&quot;
static tessdata_best := A_ScriptDir &quot;\bin\tesseract\tessdata_best&quot;
static tessdata_fast := A_ScriptDir &quot;\bin\tesseract\tessdata_fast&quot;

convert(in:=&quot;&quot;, out:=&quot;&quot;, fast:=1){
in := (in) ? in : this.fileProcessedImage
out := (out) ? out : this.fileConvertedText
fast := (fast) ? this.tessdata_fast : this.tessdata_best

static q := Chr(0x22)
_cmd .= q this.tesseract q &quot; --tessdata-dir &quot; q fast q &quot; &quot; q in q &quot; &quot; q SubStr(out, 1, -4) q
_cmd .= (this.language) ? &quot; -l &quot; q this.language q : &quot;&quot;
_cmd := ComSpec &quot; /C &quot; q _cmd q
RunWait % _cmd,, Hide
</code></pre></div></div></div><p>Вдруг кто сталкивался с подобным, спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (Botsy)]]></author>
			<pubDate>Thu, 05 Aug 2021 12:50:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=149140#p149140</guid>
		</item>
	</channel>
</rss>
