<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Pointers to Objects]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=15302</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15302&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Pointers to Objects».]]></description>
		<lastBuildDate>Wed, 22 Apr 2020 18:39:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139120#p139120</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Не могу понять как оставить объект действительным при выходе из создающего его процесса</p></blockquote></div><p>Не думаю, что это возможно таким способом, т. к. при завершении скрипта, где объект определён, он нигде не сохраняется.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 22 Apr 2020 18:39:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139120#p139120</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139117#p139117</link>
			<description><![CDATA[<p>Не могу понять как оставить объект действительным при выходе из создающего его процесса, чтобы при следующем запуске подключится к нему по прежнему CLSID.<br />Вроде как ACTIVEOBJECT_STRONG за это должен отвечать, RevokeActiveObject не используется. Про CoLockObjectExternal примеров не нашёл.</p><div class="codebox"><pre><code>
#SingleInstance Force
#NoEnv

; https://www.autohotkey.com/boards/viewtopic.php?t=6148
; https://docs.microsoft.com/ru-ru/windows/win32/api/oleauto/nf-oleauto-registeractiveobject?redirectedfrom=MSDN
; CoLockObjectExternal
  
If !A_Args[1]
	MsgBox % Clipboard := CreateGUID()

try myPublicObj := ComObjActive(Clipboard)
catch
	{ 
		MsgBox ComObjActive Error
		myPublicObj := {}
		ObjRegisterActive(myPublicObj, Clipboard, 0)
	}
MsgBox % &quot;Прежнее значение: &quot; myPublicObj.TickCount
MsgBox % &quot;Новое значение: &quot; myPublicObj.TickCount := A_TickCount 
Run &quot;%A_ScriptFullPath%&quot; &quot;Reload&quot;
ExitApp 

CreateGUID()
{
   VarSetCapacity(pguid, 16, 0)
   if !DllCall(&quot;ole32.dll\CoCreateGuid&quot;, Ptr, &amp;pguid)  {
      size := VarSetCapacity(sguid, (38 &lt;&lt; !!A_IsUnicode) + 1, 0)
      if DllCall(&quot;ole32.dll\StringFromGUID2&quot;, Ptr, &amp;pguid, Ptr, &amp;sguid, UInt, size)
         return StrGet(&amp;sguid)
   }
}

ObjRegisterActive(Object, CLSID = 0, Flags := 0) {
   static cookieJar := {}
   if !CLSID  {
      if (( cookie := cookieJar.Delete(Object) ) != &quot;&quot;)
         DllCall(&quot;oleaut32\RevokeActiveObject&quot;, UInt, cookie, Ptr, 0)
      return
   }
   if cookieJar[Object]
      throw Exception(&quot;Object is already registered&quot;, -1)
   VarSetCapacity(_clsid, 16, 0)
   if (hr := DllCall(&quot;ole32\CLSIDFromString&quot;, WStr, CLSID, Ptr, &amp;_clsid)) &lt; 0
      throw Exception(&quot;Invalid CLSID&quot;, -1, CLSID)
   hr := DllCall(&quot;oleaut32\RegisterActiveObject&quot;, Ptr, &amp;Object, Ptr, &amp;_clsid, UInt, Flags, UIntP, cookie, UInt)
   if hr &lt; 0
      throw Exception(format(&quot;Error 0x{:x}&quot;, hr), -1)
   cookieJar[Object] := cookie
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 22 Apr 2020 13:43:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139117#p139117</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139053#p139053</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>или ты просто про адрес в памяти</p></blockquote></div><p>Про адрес.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 16 Apr 2020 02:30:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139053#p139053</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139052#p139052</link>
			<description><![CDATA[<p>Обычно SendMessage использую.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 15 Apr 2020 21:38:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139052#p139052</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139051#p139051</link>
			<description><![CDATA[<p>Или чтение памяти?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 15 Apr 2020 21:19:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139051#p139051</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139050#p139050</link>
			<description><![CDATA[<p>Данные через SendMessage&nbsp; отправляешь?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 15 Apr 2020 21:19:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139050#p139050</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139049#p139049</link>
			<description><![CDATA[<p>Не, я для реальных скриптов ни разу не пользовался, как и RegisterActiveObject, как-то не возникало необходимости.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 15 Apr 2020 21:17:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139049#p139049</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139048#p139048</link>
			<description><![CDATA[<p><strong>Alectric</strong><br />Тоже не нашёл с первого раза. <br />WSH и VBS переносятся проще всего, с AutoIt уже намного сложнее.</p><p><strong>teadrinker</strong><br />А ты сам этим пользуешься? По ссылке у тебя возник вопрос, и ещё:<br /></p><div class="quotebox"><cite>Xameleon пишет:</cite><blockquote><p><strong>2 Rumata:</strong> Да. Есть некоторые &quot;косяки&quot;. ) Связь с объектами пропадает не сразу. Как эти механизмы &quot;лечить&quot; надо подумать.</p><p>P.S Всё же HACK технология. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /> Винда то и не думала, что её вывернут наизнанку и через её родные окошки будут данными кидаться.</p></blockquote></div><br /><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Про процессы тут почитай:</p></blockquote></div><p>Спасибо, прочитал, но не понял ход мысли, как это сможет сделать объект одинаково доступным, или ты просто про адрес в памяти.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 15 Apr 2020 21:14:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139048#p139048</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139045#p139045</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>На изучение исполнений на других языках да еще и на последующую конвертацию на AHK у меня не остается сил после работы</p></blockquote></div><p>Но ведь всегда можно спросить/попросить об этом на AHK форумах.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Wed, 15 Apr 2020 18:56:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139045#p139045</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139044#p139044</link>
			<description><![CDATA[<p>OFF:<br />На изучение исполнений на других языках да еще и на последующую конвертацию на AHK у меня не остается сил после работы. На работе языков хватает: STL, SCL, LAD, FBD.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 15 Apr 2020 18:27:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139044#p139044</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139043#p139043</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Меня лично интересует только AHK</p></blockquote></div><p>И зря. Так как, много чего полезного и не очень пройдет мимо вас.<br />Для достижения цели, стоит искать на любом языке, а потом уже переводить полученное на ahk.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Wed, 15 Apr 2020 18:22:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139043#p139043</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139042#p139042</link>
			<description><![CDATA[<p>OFF:<br />Конфуз. Для чего тогда придумали на форуме эти разграничения в виде &quot;AHK:&quot;, &quot;JS:&quot;, &quot;WSH:&quot; и т.д.<br />Меня лично интересует только AHK, потому и не захожу в темы где указано &quot;WSH:&quot; и прочее.<br />Откуда бы я узнал что там есть пример для AHK, тема то для WSH. <span style="color: #eeeeee">Подгорает немного от такого.</span></p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 15 Apr 2020 18:12:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139042#p139042</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139039#p139039</link>
			<description><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?pid=113561#p113561">Пример</a> на AHK.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 15 Apr 2020 16:34:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139039#p139039</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139038#p139038</link>
			<description><![CDATA[<p>Я искал только AHK. Даже и не думал в WSH залезть.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 15 Apr 2020 14:56:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139038#p139038</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Pointers to Objects]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139037#p139037</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>На нашем форуме такого не нашел.</p></blockquote></div><p>Странно. Вроде бы поиск у всех должен одинаково работать.<br />Ищется через гугл по слову GlobalContainer.<br /><a href="http://forum.script-coding.com/viewtopic.php?id=5573">http://forum.script-coding.com/viewtopic.php?id=5573</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Wed, 15 Apr 2020 14:21:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139037#p139037</guid>
		</item>
	</channel>
</rss>
