<?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=8093&amp;type=atom" />
	<updated>2013-07-23T15:17:15Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8093</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=74007#p74007" />
			<content type="html"><![CDATA[<p>Перенёс в отдельную тему.</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-07-23T15:17:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=74007#p74007</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70947#p70947" />
			<content type="html"><![CDATA[<p>Так можно попробовать:<br /></p><div class="codebox"><pre><code>ControlGet, OutputVar, Hwnd,, Internet Explorer_Server1, ahk_class IEFrame
if (OutputVar = &quot;&quot;)
{
   ToolTip, Контрол не найден!
   return
}

msg := DllCall(&quot;RegisterWindowMessage&quot;, Str, &quot;WM_HTML_GETOBJECT&quot;)
SendMessage, msg,,,, ahk_id %OutputVar%

DllCall(&quot;oleacc\ObjectFromLresult&quot;, Ptr, ErrorLevel, Ptr, 0, Ptr, 0, PtrP, pdoc)
        
HTMLDocument := ComObjEnwrap(pdoc)
ObjRelease(pdoc)

if !IsObject(HTMLDocument)
   return

var := HTMLDocument.body.innerText
HTMLDocument := &quot;&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-03-30T19:58:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70947#p70947</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70946#p70946" />
			<content type="html"><![CDATA[<p>Ничего с этим сделать нельзя?</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-03-30T19:14:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70946#p70946</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70741#p70741" />
			<content type="html"><![CDATA[<p>Всё равно сбоит. Предупреждение :<br /></p><div class="quotebox"><blockquote><p>Отказано в доступе ...&quot;файл скрипта&quot;...<br />....<br />Specificaty: body</p></blockquote></div><p>В строке <br /> if(HTMLDocument&amp;&amp;HTMLDocument.body)</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-03-24T16:24:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70741#p70741</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70693#p70693" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>Можно как-то предусмотреть эти обстоятельства и предотвратить остановку работы скрипта?</p></blockquote></div><p>ну дык как всегда:<br /></p><div class="codebox"><pre><code>if(HTMLDocument&amp;&amp;HTMLDocument.body) 
{
    var := HTMLDocument.body.innerText
    HTMLDocument := &quot;&quot;
}
else
    msgbox error</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2013-03-23T22:11:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70693#p70693</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=70691#p70691" />
			<content type="html"><![CDATA[<p>Появился вопрос.&nbsp; Иногда, при закрытии окна, работа скрипта срывается и появляется сообщение &quot;No Valid COM Object!&quot; с указанием на предпоследнюю строку:</p><br /><br /><div class="codebox"><pre><code>ControlGet, OutputVar, Hwnd,, Internet Explorer_Server1, ahk_class IEFrame
if (OutputVar = &quot;&quot;)
{
   ToolTip, Контрол не найден!
   return
}

msg := DllCall(&quot;RegisterWindowMessage&quot;, Str, &quot;WM_HTML_GETOBJECT&quot;)
SendMessage, msg,,,, ahk_id %OutputVar%

DllCall(&quot;oleacc\ObjectFromLresult&quot;, Ptr, ErrorLevel, Ptr, 0, Ptr, 0, PtrP, pdoc)
        
HTMLDocument := ComObjEnwrap(pdoc)
ObjRelease(pdoc)

var := HTMLDocument.body.innerText
HTMLDocument := &quot;&quot;</code></pre></div><br /><br /><br /><p>&nbsp; &nbsp;Можно как-то предусмотреть эти обстоятельства и предотвратить остановку работы скрипта?</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-03-23T21:54:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=70691#p70691</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69683#p69683" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Осталось понять в чём же тут принципиальная разница между</p></blockquote></div><p>В зависимости от раскладки. Никогда не пишите буквенно символьные клавиши по их именам. Замечал что само действие {CtrlDown} не всегда надёжно, видимо ос неуспевает решить что Ctrl удержан а уже послана след. кнопка, а ^{vk41} посылает сразу нажатие с модификатором.<br />Хотя Send, {CtrlDown}{vk41}{CtrlUp} вполне работает.</p></blockquote></div><p>&nbsp; &nbsp;Во втором случае OC &quot;успевает решить, что Ctrl удержан&quot;,&nbsp; а в&nbsp; первом нет?&nbsp; Странно как-то :-/</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-02-21T07:43:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69683#p69683</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69674#p69674" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p><strong>Pokerist пишет:</strong><br />С кодами&nbsp; я знаком.&nbsp; Почему работает по разному не понимаю.</p></blockquote></div><p>Вы про это:&nbsp; <em>^ и {CtrlDown}</em> , или про это <em>{vk41} и {A}</em>.</p><p><strong>OFF:</strong><br /></p><div class="quotebox"><blockquote><p><strong>teadrinker пишет:</strong><br />Если это действительно контрол Internet Explorer_Server, то примерно так, только указать верное название контрола и окна.</p></blockquote></div><p>Мда, с памятью у меня беда...</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-02-20T20:21:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69674#p69674</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69672#p69672" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Если это действительно контрол <em>Internet Explorer_Server</em>, то примерно <a href="http://forum.script-coding.com/viewtopic.php?pid=68054#p68054">так</a>, только указать верное название контрола и окна.</p></blockquote></div><p>&nbsp; Раз &quot;Window Spy&quot; сказал, что это он, то так оно и есть! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />&nbsp; Огромное спасибо!&nbsp; Сработало великолепно! Не нужны клики, не нужна даже видимость самого контрола! Всё великолепно читается без малейших сбоев.</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-02-20T17:18:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69672#p69672</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69671#p69671" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Pokerist пишет:</cite><blockquote><p>Не могу с помощью скрипта получить текст из контрола.</p></blockquote></div><p>Если это действительно контрол <em>Internet Explorer_Server</em>, то примерно <a href="http://forum.script-coding.com/viewtopic.php?pid=68054#p68054">так</a>, только указать верное название контрола и окна.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-02-20T17:05:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69671#p69671</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69669#p69669" />
			<content type="html"><![CDATA[<p>С кодами&nbsp; я знаком.&nbsp; Почему работает по разному не понимаю.</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-02-20T16:02:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69669#p69669</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69668#p69668" />
			<content type="html"><![CDATA[<p>Вот лично вам <a href="http://forum.script-coding.com/viewtopic.php?pid=69653#p69653">скрипт для определения кнопок</a> с готовым синтаксисом</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-02-20T15:40:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69668#p69668</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69667#p69667" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Осталось понять в чём же тут принципиальная разница между</p></blockquote></div><p>В зависимости от раскладки. Никогда не пишите буквенно символьные клавиши по их именам. Замечал что само действие {CtrlDown} не всегда надёжно, видимо ос неуспевает решить что Ctrl удержан а уже послана след. кнопка, а ^{vk41} посылает сразу нажатие с модификатором.<br />Хотя Send, {CtrlDown}{vk41}{CtrlUp} вполне работает.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-02-20T15:36:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69667#p69667</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69666#p69666" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>или надёжнее:<br /></p><div class="codebox"><pre><code>
clipboard := &quot;&quot;
 Loop { 
    ControlFocus, Internet Explorer_Server2, ahk_class PTIODEVICE
     ControlGetFocus, Focus, ahk_class PTIODEVICE
    iF ( Focus &lt;&gt; &quot;Internet Explorer_Server2&quot; )
        Continue 
    Send, ^{vk41}  ;  &quot;A&quot;
    Send, ^{vk43}  ;  &quot;C&quot;
    } Until clipboard
 ToolTip, %clipboard%
 return
</code></pre></div></blockquote></div><p>&nbsp; Не срабатывает если не кликнуть этот контрол. </p><br /><p> Но Вы всё равно помогли!&nbsp; Спасибо!</p><br /><p>Вот так вполне себе работает:</p><br /><div class="codebox"><pre><code>ToolTip,
clipboard := &quot;&quot;
Click x, y
Send, ^{vk41}  ;  &quot;A&quot;
Send, ^{vk43}  ;  &quot;C&quot;
ClipWait, 1
;SoundBeep
ToolTip, %clipboard% </code></pre></div><p>&nbsp; &nbsp;Осталось понять в чём же тут принципиальная разница между </p><div class="codebox"><pre><code>Send, ^{vk41}</code></pre></div><p>и<br /></p><div class="codebox"><pre><code>Send, {CtrlDown}{A}{CtrlUp}</code></pre></div><p>&nbsp; ?</p>]]></content>
			<author>
				<name><![CDATA[Pokerist]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24990</uri>
			</author>
			<updated>2013-02-20T15:26:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69666#p69666</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как извлечь текст из контрола?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69664#p69664" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>
clipboard := &quot;&quot;
 Loop
    {  ControlFocus, Internet Explorer_Server2, A
    Send, ^{vk41}  ;  &quot;A&quot;
    Send, ^{vk43}  ;  &quot;C&quot;
    } Until clipboard
 ToolTip, %clipboard%
 return</code></pre></div><p>или надёжнее:<br /></p><div class="codebox"><pre><code>
clipboard := &quot;&quot;
 Loop { 
    ControlFocus, Internet Explorer_Server2, ahk_class PTIODEVICE
     ControlGetFocus, Focus, ahk_class PTIODEVICE
    iF ( Focus &lt;&gt; &quot;Internet Explorer_Server2&quot; )
        Continue 
    Send, ^{vk41}  ;  &quot;A&quot;
    Send, ^{vk43}  ;  &quot;C&quot;
    } Until clipboard
 ToolTip, %clipboard%
 return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-02-20T14:17:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69664#p69664</id>
		</entry>
</feed>
