<?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=10339</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10339&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: проверка возможности ввода текста».]]></description>
		<lastBuildDate>Wed, 14 Jan 2015 11:04:26 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90506#p90506</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Почему, в FF и в Опере определяется, если в фокусе адресная строка и в ней нет выделения.</p></blockquote></div><p>А у меня этот ahk-код везде показывает нули.<br /></p><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Эту часть не понял.</p></blockquote></div><p>Белый список? Список программ, в которые можно что-нибудь отправлять без этой проверки на каретку.</p>]]></description>
			<author><![CDATA[null@example.com (a154802)]]></author>
			<pubDate>Wed, 14 Jan 2015 11:04:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90506#p90506</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90503#p90503</link>
			<description><![CDATA[<div class="quotebox"><cite>a154802 пишет:</cite><blockquote><p>Я бы даже сказал, что нигде smile. Потому что у вас код не совсем полный.</p></blockquote></div><p>Почему, в FF и в Опере определяется, если в фокусе адресная строка и в ней нет выделения.<br /></p><div class="quotebox"><blockquote><p>А если вы про сишную версию, то пока я обнаружил проблемы с вижуальной штудией, вимом и возможно QT, но в целом я доволен. Первые два можно было бы просто внести в белый список.</p></blockquote></div><p>Эту часть не понял.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 14 Jan 2015 10:27:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90503#p90503</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90502#p90502</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>наличие каретки способом по ссылке можно определить не везде:</p></blockquote></div><p>Я бы даже сказал, что нигде <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />. Потому что у вас код не совсем полный. А если вы про сишную версию, то пока я обнаружил проблемы с вижуальной штудией, вимом и возможно QT, но в целом я доволен. Первые два можно было бы просто внести в белый список.</p>]]></description>
			<author><![CDATA[null@example.com (a154802)]]></author>
			<pubDate>Wed, 14 Jan 2015 10:24:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90502#p90502</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90481#p90481</link>
			<description><![CDATA[<p>WM_CHAR может обрабатываться независимо от активности поля ввода, наличие каретки способом по ссылке можно определить не везде:<br /></p><div class="codebox"><pre><code>F11::
   SendMessage, WM_CHAR := 0x102, Asc(&quot;a&quot;), (GetKeySC(&quot;a&quot;) &lt;&lt; 16) | 1,, A
   ResWM_CHAR := ErrorLevel
   
   AccObj := AccObjectFromWindow(WinExist(&quot;A&quot;), OBJID_CARET := 0xFFFFFFF8)
   oLocation := AccLocation(AccObj)
   ToolTip % &quot;координаты каретки: x = &quot; oLocation.x &quot;, y = &quot; oLocation.y &quot;`nResWM_CHAR = &quot; ResWM_CHAR  ; если 0 значит обработано
   Return

AccInit()
{
   Static   h
   If Not   h
      h:=DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)
}

AccObjectFromWindow(hWnd, idObject = 0)
{
   AccInit()
   If   DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject&amp;=0xFFFFFFFF
      , &quot;Ptr&quot;, -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81
      ,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,&quot;Int64&quot;),&quot;Int64&quot;), &quot;Ptr*&quot;, pacc)=0
   Return   ComObjEnwrap(9,pacc,1)
}

AccLocation(Acc, ChildId=0, byref Position=&quot;&quot;)
{
   try Acc.accLocation(ComObj(0x4003,&amp;x:=0), ComObj(0x4003,&amp;y:=0), ComObj(0x4003,&amp;w:=0), ComObj(0x4003,&amp;h:=0), ChildId)
   catch
      return
   Position := &quot;x&quot; NumGet(x,0,&quot;int&quot;) &quot; y&quot; NumGet(y,0,&quot;int&quot;) &quot; w&quot; NumGet(w,0,&quot;int&quot;) &quot; h&quot; NumGet(h,0,&quot;int&quot;)
   return   {x:NumGet(x,0,&quot;int&quot;), y:NumGet(y,0,&quot;int&quot;), w:NumGet(w,0,&quot;int&quot;), h:NumGet(h,0,&quot;int&quot;)}
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 14 Jan 2015 07:35:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90481#p90481</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90477#p90477</link>
			<description><![CDATA[<p>У меня было две идеи:<br />проследить, обрабатывается ли WM_CHAR,<br />узнать, показывается ли на экране каретка.<br />Но это слишком сложно для меня. Сейчас нашёл какой-то код <a href="http://w3facility.org/question/how-to-find-out-if-the-caret-exists-in-opera/">http://w3facility.org/question/how-to-f … -in-opera/</a></p>]]></description>
			<author><![CDATA[null@example.com (a154802)]]></author>
			<pubDate>Wed, 14 Jan 2015 07:00:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90477#p90477</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90475#p90475</link>
			<description><![CDATA[<p>Я чисто из любопытства спросил. Не думаю, что есть в общем случае способ проверить, возможен ли в данный момент ввод текста. Если только программа пользуется стандартными для Windows контролами для ввода текста.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 14 Jan 2015 06:35:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90475#p90475</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90474#p90474</link>
			<description><![CDATA[<p>Смысл в том, что это нужно моей программе (о которой я промолчу). Но могу предложить другой смысл: для хотстрингов тоже такая проверка не помешала бы.</p>]]></description>
			<author><![CDATA[null@example.com (a154802)]]></author>
			<pubDate>Wed, 14 Jan 2015 06:30:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90474#p90474</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90471#p90471</link>
			<description><![CDATA[<p>А какой смысл отправлять абракадабру в незнакомую программу?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 14 Jan 2015 06:07:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90471#p90471</guid>
		</item>
		<item>
			<title><![CDATA[AHK: проверка возможности ввода текста]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90469#p90469</link>
			<description><![CDATA[<p>Предположим, что мы собрались отправить<br /></p><div class="codebox"><pre><code>Send, абракадабра</code></pre></div><p>в незнакомую программу. И, если это не текстовый редактор, то рискуем нарваться на бибиканье и горячие клавиши. Какую проверку можно сделать, чтобы этого избежать?</p>]]></description>
			<author><![CDATA[null@example.com (a154802)]]></author>
			<pubDate>Wed, 14 Jan 2015 05:50:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90469#p90469</guid>
		</item>
	</channel>
</rss>
