<?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=6485</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6485&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Чтение текста из контролов всех окон».]]></description>
		<lastBuildDate>Tue, 29 Nov 2011 17:05:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=54019#p54019</link>
			<description><![CDATA[<div class="quotebox"><cite>Tatrin пишет:</cite><blockquote><p>Извините за невнимательность. Попробовал в работе этот скрипт на примере запущенного блокнота. Выводится класс и название блокнота, но текст который в нем записан не отображается. Не подскажите как его прочитать?</p></blockquote></div><p>Нужно &quot;WinGetText WindowText, ahk_id %cur%&quot; заменить на &quot;ControlGetText WindowText,, ahk_id %cur%&quot;. Но в общем случае нужно проверить, является ли окно контролом(свойство WS_CHILD) и вызвать соответствующую функцию.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Tue, 29 Nov 2011 17:05:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=54019#p54019</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=54012#p54012</link>
			<description><![CDATA[<div class="quotebox"><cite>Tatrin пишет:</cite><blockquote><p>Выводится класс и название блокнота, но текст который в нем записан не отображается. ...как его прочитать?</p></blockquote></div><div class="codebox"><pre><code>Gui, Add, Edit, vControlText x12 y10 w450 h350
Gui, -MaximizeBox
Gui, Show, Center w474 h372, Test
ControlGetText, CText, Edit1, ahk_class Notepad ; Edit1 - название контрола содержащего текст
GuiControl,, ControlText, % CText ? CText:&quot;Блокнот не запущен, или не имеет текста!&quot;
Return

GuiClose:
   ExitApp

F5::Reload
Esc::ExitApp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Tue, 29 Nov 2011 12:45:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=54012#p54012</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=53982#p53982</link>
			<description><![CDATA[<p>Извините за невнимательность. Попробовал в работе этот скрипт на примере запущенного блокнота. Выводится класс и название блокнота, но текст который в нем записан не отображается. Не подскажите как его прочитать?</p>]]></description>
			<author><![CDATA[null@example.com (Tatrin)]]></author>
			<pubDate>Mon, 28 Nov 2011 15:47:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=53982#p53982</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=53884#p53884</link>
			<description><![CDATA[<div class="quotebox"><cite>Tatrin пишет:</cite><blockquote><p>В этом примере в файл записывается вся информация со всех окон</p></blockquote></div><p>О_о<br />В этом примере записываются только имя класса и текст из всех окон указанного процесса.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sat, 26 Nov 2011 15:04:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=53884#p53884</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=53882#p53882</link>
			<description><![CDATA[<p>В этом примере в файл записывается вся информация со всех окон, а мне нужен текст только окна указанного процесса. Извините если чего-то не понимаю, я в AHK новичок. Как я понимаю нужно добавить проверку на PID для каждого полученного окна, или для каждого окна надо еще применять функцию ControlGetText?</p>]]></description>
			<author><![CDATA[null@example.com (Tatrin)]]></author>
			<pubDate>Sat, 26 Nov 2011 13:18:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=53882#p53882</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=53854#p53854</link>
			<description><![CDATA[<div class="quotebox"><cite>Tatrin пишет:</cite><blockquote><p>Вот что мне нужно сделать:<br />приходит id процесса, мне нужно найти окно которое соответствует этому процессу и вытянуть из него весь текст включая текст контролов и записывать их в текстовый документ.<br />...<br />Может кто подсказать как это сделать?</p></blockquote></div><p>так?<br /></p><div class="codebox"><pre><code>FindWindowEx(hwndParent, hwndChildAfter, ClassName, WindowName)
{
   return DllCall(&quot;FindWindowEx&quot;, &quot;uint&quot;, hwndParent, &quot;uint&quot;, hwndChildAfter, &quot;uint&quot;, ClassName, &quot;uint&quot;, WindowName, &quot;uint&quot;)
}
EnumChild(hwndParent, byref str, byref prestr)
{
   cur:=FindWindowEx(hwndParent, 0, 0, 0)
   if (cur=0)
   {
      return
   }
   str:=str . prestr . &quot;{`n&quot;
   prestr:=prestr . &quot;   &quot;
   while (cur&lt;&gt;0)
   {
      WinGetClass ClassName, ahk_id %cur%
	  WinGetText WindowText, ahk_id %cur%
	  WindowText := RegExReplace(WindowText, &quot;\r\n|\n|\r&quot;, &quot;\n&quot;)
	  str:=str . prestr . &quot;ClassName &#039;&quot; . ClassName . &quot;&#039;, WindowName &#039;&quot; . WindowText . &quot;&#039;`n&quot;
	  EnumChild(cur, str, prestr)
      cur:=FindWindowEx(hwndParent, cur, 0, 0)
   }
   prestr:=SubStr(prestr, 1 , StrLen(prestr)-3)
   str:=str . prestr . &quot;}`n&quot;
}

DetectHiddenWindows on
DetectHiddenText on
pid:=4848 ; идентификатор нужного процесса
WinGet id, list, ahk_pid %pid%
str:=&quot;&quot; ; строка для записи в файл
prestr:=&quot;&quot; ; пробелы для читабельности
Loop, %id%
{
    this_id := id%A_Index%
	WinGetClass, ClassName, ahk_id %this_id%
	WinGetTitle, WindowName, ahk_id %this_id%
	str:=str . &quot;ClassName &#039;&quot; . ClassName . &quot;&#039;, WindowName &#039;&quot; . WindowName . &quot;&#039;`n&quot;
	EnumChild(id%A_Index%, str, prestr)
}
FileDelete %a_scriptdir%\1.txt 
FileAppend %str%, %a_scriptdir%\1.txt</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Fri, 25 Nov 2011 17:16:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=53854#p53854</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=53851#p53851</link>
			<description><![CDATA[<p><span style="color: green"><strong>Tatrin</strong>, прочитайте первую тему в этом разделе. Затем исправьте заголовок темы, отредактировав первое сообщение. Оформите код правильно.</span></p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Fri, 25 Nov 2011 15:48:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=53851#p53851</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Чтение текста из контролов всех окон]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=53849#p53849</link>
			<description><![CDATA[<p>Вот что мне нужно сделать:<br />приходит id процесса, мне нужно найти окно которое соответствует этому процессу и вытянуть из него весь текст включая текст контролов и записывать их в текстовый документ.</p><p>на данном этапе дошел до следующего скрипта:<br /></p><div class="codebox"><pre><code>DetectHiddenWindows,on
DetectHiddenText, on
WinGet, id, list,,, Program Manager
Loop, %id%
{
    this_id := id%A_Index%
    WinActivate, ahk_id %this_id%
    WinGet, ControlList, ControlList,A
    WinGetText,  this_text,  ahk_id %this_id%
 ;   ControlGet, List, List, Selected, SysListView321, WinTitle
    FileAppend, %this_text% `n, D:\1.txt
}</code></pre></div><p>Может кто подсказать как это сделать?</p>]]></description>
			<author><![CDATA[null@example.com (Tatrin)]]></author>
			<pubDate>Fri, 25 Nov 2011 15:20:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=53849#p53849</guid>
		</item>
	</channel>
</rss>
