<?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=10056&amp;type=atom" />
	<updated>2015-09-16T16:05:55Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10056</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=97515#p97515" />
			<content type="html"><![CDATA[<p>Есть ли какой-нибудь хитрый способ показывать в Cmd, что в данный момент исполняется, паралельно перенаправляя результат в strStdOut или strStdErr?<br />Так конечно же не получается - экран темный.<br /></p><div class="codebox"><pre><code>objShell := ComObjCreate(&quot;WScript.Shell&quot;)
objExec := objShell.Exec(ComSpec &quot; /C echo list volume | C:\Windows\System32\diskpart.exe&quot;)
strStdOut := &quot;&quot;
while, !objExec.StdOut.AtEndOfStream
   strStdOut := objExec.StdOut.ReadAll()</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-09-16T16:05:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=97515#p97515</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90926#p90926" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Вписать в начале:<br /></p><div class="codebox"><pre><code>DllCall(&quot;AllocConsole&quot;)
WinHide % &quot;ahk_id &quot; DllCall(&quot;GetConsoleWindow&quot;, &quot;ptr&quot;)</code></pre></div></blockquote></div><p>Спасибо, работает!</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2015-01-24T11:31:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90926#p90926</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90918#p90918" />
			<content type="html"><![CDATA[<p>Вписать в начале:<br /></p><div class="codebox"><pre><code>DllCall(&quot;AllocConsole&quot;)
WinHide % &quot;ahk_id &quot; DllCall(&quot;GetConsoleWindow&quot;, &quot;ptr&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-01-23T21:03:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90918#p90918</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90917#p90917" />
			<content type="html"><![CDATA[<p>Можно ли сделать тоже самое, но не показывая окно CMD?</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2015-01-23T19:37:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90917#p90917</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87619#p87619" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>У objExec есть свойство Status. Пока программа не завершилась, оно = 0.</p></blockquote></div><p>Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2014-10-21T09:57:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87619#p87619</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87617#p87617" />
			<content type="html"><![CDATA[<p>У objExec есть свойство Status. Пока программа не завершилась, оно = 0.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-10-21T09:47:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87617#p87617</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87615#p87615" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p><strong>emmetoya</strong>, у нас принято использовать заглавные буквы в начале предложений.</p></blockquote></div><p>Поправил</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2014-10-21T09:37:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87615#p87615</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87611#p87611" />
			<content type="html"><![CDATA[<p><strong>emmetoya</strong>, у нас принято использовать заглавные буквы в начале предложений.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-10-21T09:18:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87611#p87611</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87609#p87609" />
			<content type="html"><![CDATA[<p>Уточняющий вопрос по VBS, но в тему этого скрипта: есть ли аналог RunWait для запуска VBS скрипта? Мне нужно дождаться окончания работы утилиты прежде чем произойдет дальнейшая обработка.</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2014-10-21T08:55:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87609#p87609</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87427#p87427" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>emmetoya пишет:</cite><blockquote><p>Или с утра голова прояснилась, или звузды легли по-другому</p></blockquote></div><p>Да нет, всё проще, этот вариант был опробован с ошибкой из-за того, что я скопировал неправильно:<br /></p><div class="codebox"><pre><code>objShell.Exec(&quot;&quot;&quot;&quot; . compareTool . &quot;&quot;&quot; -metric mepp &quot;&quot;&quot; . pic1 . &quot;&quot;&quot; &quot;&quot;&quot; . pic2 . &quot;&quot;&quot; &quot;&quot;&quot; . pic3 . &quot;&quot;&quot;&quot;)</code></pre></div><p>вместо<br /></p><div class="codebox"><pre><code>objExec := objShell.Exec(&quot;&quot;&quot;&quot; . compareTool . &quot;&quot;&quot; -metric mepp &quot;&quot;&quot; . pic1 . &quot;&quot;&quot; &quot;&quot;&quot; . pic2 . &quot;&quot;&quot; &quot;&quot;&quot; . pic3 . &quot;&quot;&quot;&quot;)</code></pre></div><div class="quotebox"><cite>Drugoy пишет:</cite><blockquote><p>Опять COM-объекты. Полезная штука, да найти б где толково описано как ими пользоваться</p></blockquote></div><p><a href="http://www.autohotkey.com/board/topic/56987-com-object-reference-autohotkey-v11/">COM Object Reference</a>, далее по ссылкам.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-10-16T04:26:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87427#p87427</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87426#p87426" />
			<content type="html"><![CDATA[<p><em>offtopic</em><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>Опять COM-объекты. Полезная штука, да найти б где толково описано как ими пользоваться (а не просто список всех команд/объектов)...</p></div></div>]]></content>
			<author>
				<name><![CDATA[Drugoy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27463</uri>
			</author>
			<updated>2014-10-16T04:11:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87426#p87426</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87425#p87425" />
			<content type="html"><![CDATA[<p>С новыми силами еще раз попробую..<br />Ну что сказать,<br /></p><div class="codebox"><pre><code>!c::
    compareTool := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\compare.exe&quot;
    pic1 := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\m11.jpeg&quot;
    pic2 := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\m22.jpeg&quot;
    pic3 := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\m3.png&quot;
    objShell := ComObjCreate(&quot;WScript.Shell&quot;)
    objExec := objShell.Exec(&quot;&quot;&quot;&quot; . compareTool . &quot;&quot;&quot; -metric mepp &quot;&quot;&quot; . pic1 . &quot;&quot;&quot; &quot;&quot;&quot; . pic2 . &quot;&quot;&quot; &quot;&quot;&quot; . pic3 . &quot;&quot;&quot;&quot;)
    strStdOut := &quot;&quot;
    while, !objExec.StdOut.AtEndOfStream
       strStdOut := objExec.StdOut.ReadAll()
    MsgBox %strStdOut%

return</code></pre></div><p>выводит пустой MsgBox. Не считывает! Точнее я думаю считывает, но там пусто.</p><p>И почему мы тут считываем objExec.StdOut если в документации к утилите четко сказано, что она отправляет в StdErr??<br />Или в ваших тестах этим кодом удалось вывести результат работы тестовой программы, выводящей в StdErr?</p><p><span style="color: red"><strong>Изменения:</strong></span><br />Или с утра голова прояснилась, или звузды легли по-другому, но код (который вчера тоже пробовал)<br /></p><div class="codebox"><pre><code>!d::
    compareTool := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\compare.exe&quot;
    pic1 := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\m11.jpeg&quot;
    pic2 := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\m22.jpeg&quot;
    pic3 := &quot;C:\Program Files\ImageMagick-6.8.9-Q16\m3.png&quot;
    objShell := ComObjCreate(&quot;WScript.Shell&quot;)
    objExec := objShell.Exec(&quot;&quot;&quot;&quot; . compareTool . &quot;&quot;&quot; -metric mepp &quot;&quot;&quot; . pic1 . &quot;&quot;&quot; &quot;&quot;&quot; . pic2 . &quot;&quot;&quot; &quot;&quot;&quot; . pic3 . &quot;&quot;&quot;&quot;)
    strStdErr := &quot;&quot;
    while, !objExec.Stderr.AtEndOfStream
    strStdErr := objExec.Stderr.ReadAll()
    MsgBox %strStdErr%

return</code></pre></div><p><strong><span style="color: red">Заработал!</span></strong> Обрабатывает, в переменную принимает значения, MsgBox отображает результат.<br />Спасибо всем за участие!</p>]]></content>
			<author>
				<name><![CDATA[emmetoya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32585</uri>
			</author>
			<updated>2014-10-16T04:02:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87425#p87425</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87424#p87424" />
			<content type="html"><![CDATA[<p>Нет, я про код в посте 26. Читаешь в strStdErr, а выводишь strStdOut.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-10-16T03:53:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87424#p87424</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87423#p87423" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Считываешь в одну переменную, а выводишь в MsgBox другую.</p></blockquote></div><p>В смысле, хочешь сказать, я и <a href="http://forum.script-coding.com/viewtopic.php?pid=87417#p87417">там</a> какие-то переменные перепутал? Там в MsgBox выводится непосредственно то, что CmdRet возвращает.<br /></p><div class="quotebox"><blockquote><p>А вообще для тестовой программки, выводящей в StdError, работает как этот вариант, так и CmdRet.</p></blockquote></div><p>У меня тоже оба варианта сработали.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-10-16T03:37:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87423#p87423</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: получить в переменную результат работы другой программы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87422#p87422" />
			<content type="html"><![CDATA[<p>Ну да, правильно. Считываешь в одну переменную, а выводишь в MsgBox другую. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>А вообще для тестовой программки, выводящей в StdError, работает как этот вариант, так и CmdRet.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-10-16T03:15:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87422#p87422</id>
		</entry>
</feed>
