<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11402&amp;type=atom" />
	<updated>2016-04-13T09:39:02Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11402</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102532#p102532" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br /></p><div class="quotebox"><blockquote><p>Именно по закрытию плеера, трудоёмко будет, а сбрасывать при новом показе можно.</p></blockquote></div><p>Спасибо большое Вам, такой вариант даже более подходит и логичнее. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>P.S.<br />Если будет свободное время, может быть обратите внимание на вот эту задачу по <a href="http://forum.script-coding.com/viewtopic.php?pid=102530#p102530">Авто-Бэкапу</a> файлов и папок?</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-13T09:39:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102532#p102532</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102487#p102487" />
			<content type="html"><![CDATA[<p>Именно по закрытию плеера, трудоёмко будет, а сбрасывать при новом показе можно.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force
#NoEnv

oTitles := [&quot;ahk_class Notepad ahk_exe notepad.exe&quot;
			, &quot;ahk_class CalcFrame ahk_exe calc.exe&quot;]

Global hGui, Show, Manual
, Effect := 0x00080000	; 0x00000010 - расширение, 0x00080000 - затухание, 0x00000001 - слева направо, 0x00000004 - сверху вниз
, EffectDuration := 333	; длительность эффекта

Gui, -DPIScale -Caption +AlwaysOnTop +HWNDhGui +Owner
Gui, Show,% &quot;Hide x0 y0 w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
OnMessage(0x201, &quot;WM_LBUTTONDOWN&quot;)

Loop
{
	Sleep, 200
	If Manual
		Continue
	SysGet, MonitorCount, MonitorCount
	If (MonitorCount &lt;&gt; 2)
		Continue
	SysGet, MonitorPrimary, MonitorPrimary
	MonitorSecond := MonitorPrimary = 1 ? 2 : 1
	SysGet, Mon2, Monitor, %MonitorSecond%

	For i, Title in oTitles, HasSecond := 0
	{
		If !(hWnd := WinActive(Title))
			Continue
		WinGetPos, X, Y, , , % &quot;ahk_id&quot; hWnd
		If (X &gt;= Mon2Left &amp;&amp; X &lt;= Mon2Right &amp;&amp; Y &gt;= Mon2Top &amp;&amp; Y &lt;= Mon2Bottom &amp;&amp; (HasSecond := 1))
			Break
	}
	If (HasSecond &amp;&amp; !Show)
		Show()
	Else If (!HasSecond &amp;&amp; Show)
		Show(0)
}

Esc::  ExitApp

#If !Show
1:: Show(), Manual := 1
#If

Show(_Show = 1) { 
	If _Show
	{
		ChangeColor(0)
		DllCall(&quot;AnimateWindow&quot;, &quot;Ptr&quot;, hGui, &quot;Int&quot;, EffectDuration, &quot;UInt&quot;, Effect)
		Gui, Show,% &quot;NA x0 y0 w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
		Gui, +AlwaysOnTop
	}
	Else
		DllCall(&quot;AnimateWindow&quot;, &quot;Ptr&quot;, hGui, &quot;Int&quot;, EffectDuration, &quot;UInt&quot;, Effect|0x00010000)
	Show := _Show
}

ChangeColor(old = 1) {
	Static Colors := [[&quot;FF0000&quot;, 1], [&quot;00FF00&quot;, 2], [&quot;0000FF&quot;, 3]], i := 0
	If !old
		i := 0
 	Gui, Color, % Colors[i := ++i &gt; Colors.MaxIndex() ? 1 : i][1]
	SetTimer, ChangeColor, % &quot;-&quot; . Colors[i][2] . &quot;000&quot;
}

WM_LBUTTONDOWN() {
	Show(0), Manual := 0
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-04-11T10:48:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102487#p102487</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102480#p102480" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Спасибо за реализацию, но я так понял, при закрытии плеера, не происходит обнуления таймера цвета?</p><p>Объясню в чём загвоздка, вся эта очерёдность цветов, нужна, чтобы по прошествии долгого времени, происходила резкая смена цвета на несколько секунд, но если посмотрев фильм, до следующего цвета осталось несколько минут, то после следующего старта MPC-BE, эта смена произойдёт слишком рано, что не очень приятно и не имеет практического смысла. Можно ли, чтобы при каждом новом запуске плеера, цвета шли по очереди от самого первого?</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-11T06:35:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102480#p102480</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102415#p102415" />
			<content type="html"><![CDATA[<p>Редактирование в самой функции, время в секундах для удобства.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force
#NoEnv

oTitles := [&quot;ahk_class Notepad ahk_exe notepad.exe&quot;
			, &quot;ahk_class CalcFrame ahk_exe calc.exe&quot;]

Global hGui, Show, Manual
, Effect := 0x00080000	; 0x00000010 - расширение, 0x00080000 - затухание, 0x00000001 - слева направо, 0x00000004 - сверху вниз
, EffectDuration := 333	; длительность эффекта

Gui, -DPIScale -Caption +AlwaysOnTop +HWNDhGui +Owner
Gui, Show,% &quot;Hide x0 y0 w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
ChangeColor(), OnMessage(0x201, &quot;WM_LBUTTONDOWN&quot;)

Loop
{
	Sleep, 200
	If Manual
		Continue
	SysGet, MonitorCount, MonitorCount
	If (MonitorCount &lt;&gt; 2)
		Continue
	SysGet, MonitorPrimary, MonitorPrimary
	MonitorSecond := MonitorPrimary = 1 ? 2 : 1
	SysGet, Mon2, Monitor, %MonitorSecond%

	For i, Title in oTitles, HasSecond := 0
	{
		If !(hWnd := WinActive(Title))
			Continue
		WinGetPos, X, Y, , , % &quot;ahk_id&quot; hWnd
		If (X &gt;= Mon2Left &amp;&amp; X &lt;= Mon2Right &amp;&amp; Y &gt;= Mon2Top &amp;&amp; Y &lt;= Mon2Bottom &amp;&amp; (HasSecond := 1))
			Break
	}
	If (HasSecond &amp;&amp; !Show)
		Show()
	Else If (!HasSecond &amp;&amp; Show)
		Show(0)
}

Escape::  ExitApp

#If !Show
1:: Show(), Manual := 1
#If

Show(_Show = 1) {
	DllCall(&quot;AnimateWindow&quot;, &quot;Ptr&quot;, hGui, &quot;Int&quot;, EffectDuration, &quot;UInt&quot;, Effect|(!_Show ? 0x00010000 : 0x0))
	If _Show
	{
		Gui, Show,% &quot;NA x0 y0 w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
		Gui, +AlwaysOnTop
	}
	Show := _Show
}

ChangeColor() {
	Static Colors := [[&quot;FF0000&quot;, 1], [&quot;00FF00&quot;, 2], [&quot;0000FF&quot;, 3]], i := 0
 	Gui, Color, % Colors[i := ++i &gt; Colors.MaxIndex() ? 1 : i][1]
	SetTimer, ChangeColor, % &quot;-&quot; . Colors[i][2] . &quot;000&quot;
}

WM_LBUTTONDOWN() {
	Show(0), Manual := 0
}
</code></pre></div><div class="quotebox"><cite>Balux пишет:</cite><blockquote><p>И кстати, подскажите пожалуйста, в случае перехода в будущем 1-ого монитора на разрешение 1920x1200 или 1920x1080, будет ли корректно работать код?</p></blockquote></div><p>Да, для любых разрешений обоих мониторов, и любого размещения вторичного монитора относительно главного. При изменении этих условий не требуется перезагрузка скрипта, или собственно какие то изменения в нём.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-04-08T17:13:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102415#p102415</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102366#p102366" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />А возможно ли сделать так, чтобы можно было добавлять разные цвета в строчку, а в скобочках время их показа, как в примере, и всё это по кругу? Конечно, если реализация для Вас крайне проста.</p><div class="codebox"><pre><code>ChangeColor() {
 	Gui, Color, % Color := Color = 000000 (600000) : 000011 (600000) : 000000 (600000) : 000011 (600000) : 000000 (600000) : 0000FF (1000) : 000000 (600000)
}</code></pre></div><br /><br /><p>И кстати, подскажите пожалуйста, в случае перехода в будущем 1-ого монитора на разрешение 1920x1200 или 1920x1080, будет ли корректно работать код?</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-07T06:03:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102366#p102366</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102351#p102351" />
			<content type="html"><![CDATA[<p>Да,&nbsp; цвета именно так меняются.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-04-06T08:17:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102351#p102351</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102349#p102349" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br /></p><div class="quotebox"><blockquote><p>То есть затемнение может быть только если окно плеера активно и на втором мониторе?</p></blockquote></div><p>Да, на практике это оказалось очень удобно.<br /></p><div class="quotebox"><blockquote><p>У меня такого нет, от ОС может зависеть, добавил окну опцию, возможно поможет.</p></blockquote></div><p>В Вашем новом варианте всё хорошо.</p><div class="quotebox"><blockquote><p>По нажатию на хоткей появляется, по клику исчезает.</p></blockquote></div><p>Спасибо, так ещё удобней.</p><br /><br /><p>Спасибо большое за модификацию, вот теперь то, что надо. Не буду забегать вперёд, но пока всё работает отлично. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Получилась отличная программа для связки монитор + ТВ.</p><p>А по поводу изменения цвета, это происходит с периодичностью 10 минут вот эти два цвета <strong>000011 : 000000</strong>, 10 минут один и 10 минут другой?</p><div class="codebox"><pre><code>ChangeColor() {
 	Gui, Color, % Color := Color = 000000 ? 000011 : 000000
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-06T07:39:43Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102349#p102349</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102342#p102342" />
			<content type="html"><![CDATA[<p>То есть затемнение может быть только если окно плеера активно и на втором мониторе? Я изначально понял, что просто если окно на втором мониторе находится.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force
#NoEnv

oTitles := [&quot;ahk_class Notepad ahk_exe notepad.exe&quot;
			, &quot;ahk_class CalcFrame ahk_exe calc.exe&quot;]

Global Color, hGui, Show, Manual
, Effect := 0x00000010	; 0x00000010 - расширение, 0x00080000 - затухание, 0x00000001 - слева направо, 0x00000004 - сверху вниз
, EffectDuration := 333	; длительность эффекта

Gui, Color, % Color := 000000
Gui, -DPIScale -Caption +AlwaysOnTop +HWNDhGui +Owner
Gui, Show,% &quot;Hide x0 y 0&quot; &quot;w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
SetTimer, ChangeColor, 600000
OnMessage(0x201, &quot;WM_LBUTTONDOWN&quot;)

Loop
{
	Sleep, 200
	If Manual
		Continue
	SysGet, MonitorCount, MonitorCount 
	If (MonitorCount &lt;&gt; 2)
		Continue
	SysGet, MonitorPrimary, MonitorPrimary
	MonitorSecond := MonitorPrimary = 1 ? 2 : 1
	SysGet, Mon2, Monitor, %MonitorSecond%
	
	For i, Title in oTitles, HasSecond := 0
	{
		If !(hWnd := WinActive(Title))
			Continue
		WinGetPos, X, Y, , , % &quot;ahk_id&quot; hWnd
		If (X &gt;= Mon2Left &amp;&amp; X &lt;= Mon2Right &amp;&amp; Y &gt;= Mon2Top &amp;&amp; Y &lt;= Mon2Bottom) 
		{
			HasSecond := 1
			Break
		}
	}
	If (HasSecond &amp;&amp; !Show)
		Show()
	Else If (!HasSecond &amp;&amp; Show)
		Show(0)
}

Escape::  ExitApp

#If !Show
1:: Show(), Manual := 1
#If

Show(_Show = 1) {
	DllCall(&quot;AnimateWindow&quot;, &quot;Ptr&quot;, hGui, &quot;Int&quot;, EffectDuration, &quot;UInt&quot;, Effect|(!_Show ? 0x00010000 : 0x0))
	If _Show
	{
		Gui, Show,% &quot;NA x0 y 0&quot; &quot;w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
		Gui, +AlwaysOnTop
	}
	Show := _Show
}

ChangeColor() {
 	Gui, Color, % Color := Color = 000000 ? 000011 : 000000
}

WM_LBUTTONDOWN() {
	Show(0), Manual := 0
}
</code></pre></div><div class="quotebox"><cite>Balux пишет:</cite><blockquote><p>на панели задач остаётся иконка от GUI AHK</p></blockquote></div><p>У меня такого нет, от ОС может зависеть, добавил окну опцию, возможно поможет.<br /></p><div class="quotebox"><blockquote><p>3) В варианте Alectric, можно было по горячей клавише вызывать затемнение, даже если MPC-BE не запущен.</p></blockquote></div><p>По нажатию на хоткей появляется, по клику исчезает.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-04-05T22:30:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102342#p102342</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102339#p102339" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Я не знаю, возможно ли считывать логику с кода, но посмотрите пожалуйста вариант из <a href="http://forum.script-coding.com/viewtopic.php?pid=102160#p102160">14 сообщения</a>.</p><p>Опишу подробно, запускается плеер на 1-ом экране, если есть надобность смотреть на 2-ом, жестом плеер отправляется на 2-ой дисплей за 1680 пиксель, 1-ый затемняется. В процессе просмотра ставится на паузу видео, курсор возвращается на 1-ый экран, щёлкаем ЛКМ по затемнению, оно исчезает и дальше, что-то поделав в браузере, курсор возвращается на 2-ой дисплей, там на паузе в Fullscreen или в окне находится фильм, щёлкаем по нему ЛКМ (т.е. затемнение всегда, если MPC-BE в фокусе), продолжается воспроизведение и 1-ый монитор затемняется. После просмотра, плеер жестом отправляется на 1-ый дисплей и закрывается, затемнение исчезает.</p><br /><br /><p>Хотя основная функциональность в Вашем варианте работает отлично, опишу что не так:</p><p>1) После закрытия плеера, затемненение исчезает, но на панели задач остаётся иконка от GUI AHK. Перезагрузив вручную скрипт, она исчезает.</p><p>2) Если во время просмотра, щёлкнуть ЛКМ по затемнению, оно исчезнет, но вернув в фокус MPC-BE, уже не появляется. Более того, при следующем запуске плеера тоже, нужно перезагружать скрипт вручную, дабы он заработал.</p><p>3) В варианте <strong>Alectric</strong>, можно было по горячей клавише вызывать затемнение, даже если MPC-BE не запущен. В Вашем, при нажатии хоткея, затемнение появляется и мгновенно исчезает, видимо не обнаружив запущенного на 2-ом мониторе MPC-BE.</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-05T21:15:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102339#p102339</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102334#p102334" />
			<content type="html"><![CDATA[<p>Нет, это я так написал, ручное отключение как и по хоткею &quot;выключить затемнение&quot;. Напишите развёрнуто всю логику, мало понятно желаемое в деталях.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-04-05T20:15:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102334#p102334</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102333#p102333" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Ого, спасибо большое, ещё и с продвинутыми эффектами <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />, похоже проблема мельканий (затемнений) полностью устранена. </p><p>Но я так понял, в Вашем варианте нет авто-затемнения при возврате в фокус (ЛКМ по MPC-BE), как у <strong>Alectric</strong>, функция doonce помоему? Это очень удобно, что-то поделал на 1-ом мониторе, щёлкнул ЛКМ по фильму, пошло воспроизведение и 1-ый экран затемнился.</p><p>Ещё что странно, если щёлкнуть по затемнению, оно отключается, появляется значок AHK на панели задач, и при следующем запуске MPC-BE, затемнение уже не происходит, нужно вручную пепезагрузить скрипт, чтобы всё заработало. Это проблема на моей стороне?</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-05T20:09:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102333#p102333</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102284#p102284" />
			<content type="html"><![CDATA[<p>У плееров обычно много всяких окон, если смотреть координаты просто за пределами главного монитора, то можно принять например свёрнутое окно за искомое, так как у него координаты -32000 по х и у. Ну и в любом случае добавить в критерии ещё хотя бы класс окон.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force
#NoEnv

oTitles := [&quot;ahk_class Notepad ahk_exe notepad.exe&quot;
			, &quot;ahk_class CalcFrame ahk_exe calc.exe&quot;]

Global Color, hGui, Show, Off
, Effect := 0x00000010   ; 0x00000010 - расширение, 0x00080000 - затухание, 0x00000001 - слева направо, 0x00000004 - сверху вниз
, EffectDuration := 333   ; длительность эффекта

Gui, Color, % Color := 000000
Gui, -DPIScale -Caption +AlwaysOnTop +E0x08000000 +HWNDhGui
Gui, Show,% &quot;Hide x0 y 0&quot; &quot;w&quot; A_ScreenWidth &quot; h&quot; A_ScreenHeight
SetTimer, ChangeColor, 600000
OnMessage(0x201, &quot;WM_LBUTTONDOWN&quot;)

Loop
{ 
	Sleep, 200
	If Off
		Continue
	SysGet, MonitorCount, MonitorCount
	If (MonitorCount &lt; 2)
		Continue
	SysGet, MonitorPrimary, MonitorPrimary
	MonitorSecond := MonitorPrimary = 1 ? 2 : 1
	SysGet, Mon2, Monitor, %MonitorSecond%
	
	For i, Title in oTitles, HasSecond := 0
	{
		WinGet, Id, List, %Title%
		Loop, %Id%
		{ 
			WinGetPos, X, Y, , , % &quot;ahk_id&quot; Id%A_Index%
			If (X &gt;= Mon2Left &amp;&amp; X &lt;= Mon2Right &amp;&amp; Y &gt;= Mon2Top &amp;&amp; Y &lt;= Mon2Bottom) 
			{
				HasSecond := 1
				Break 2
			} 
		}
	}
	If (HasSecond &amp;&amp; !Show)
		Show()
	Else If (!HasSecond &amp;&amp; Show)
		Show(0)
}

Escape::  ExitApp

1::
	Off := Show
	Show(!Off)
	Return

Show(_Show = 1) {
	DllCall(&quot;AnimateWindow&quot;, &quot;Ptr&quot;, hGui, &quot;Int&quot;, EffectDuration, &quot;UInt&quot;, Effect|(!_Show ? 0x00010000 : 0x0))
	If _Show
		Gui, +AlwaysOnTop
	Show := _Show
}

ChangeColor() {
 	Gui, Color, % Color := Color = 000000 ? 000011 : 000000
}

WM_LBUTTONDOWN() {
	Show(0), Off := 1
}
</code></pre></div><p>Этот вариант определяет номер монитора и его координаты, если монитор один, то ждёт появление второго, клик по окну скрывает его, есть несколько эффектов, периодическая смена цвета фона, работает с несколькими копиями одного плеера.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-04-05T00:27:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102284#p102284</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102282#p102282" />
			<content type="html"><![CDATA[<p><strong>Alectric</strong><br />Видимо некие области MPC-BE, например прогресс бар, посылают сигнал, что они не mpc-be64.exe, причём даже без нажатия ЛКМ. Ну жить можно, жаль конечно, что в коде нельзя напрямую прописать, чтобы работал только за 1680 пикселем рабочего стола. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-04T22:26:11Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102282#p102282</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102272#p102272" />
			<content type="html"><![CDATA[<p>У себя не могу повторить этой ошибки. У меня 1 монитор. Даже не знаю с чем связанно.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2016-04-04T15:38:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102272#p102272</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Заполнить монитор №1 чёрным цветом по горячей клавише]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=102248#p102248" />
			<content type="html"><![CDATA[<p><strong>Alectric</strong><br />К большому сожалению, проявилась ошибка, но не в Вашем крайнем изменении, а вообще. Когда MPC-BE находится на 1-ом мониторе, при клике по прогресс-бару появляется миллисекундное затемнение, как-будто мелькает экран, но что странно это затемнение бывает происходит и без клика, а при простом наведении мыши на плеер. А при попытке смены аудиодорожки, происходит полное затемнение, будто плеер на 2-ом мониторе.</p><p>В целом пользоваться конечно можно, но если Вы знаете в чём причина такого поведения, помогите пожалуйста. Т.к. MPC-BE находится на 1-ом (1680x1050) мониторе, совершенно непонятно почему скрипт реагирует на плеер.</p>]]></content>
			<author>
				<name><![CDATA[Balux]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33580</uri>
			</author>
			<updated>2016-04-03T23:28:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=102248#p102248</id>
		</entry>
</feed>
