<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7057</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7057&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите».]]></description>
		<lastBuildDate>Thu, 05 Apr 2012 14:42:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58872#p58872</link>
			<description><![CDATA[<p>Такой вариант возможен, конечно <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> <br />Поясню, зачем мне нужен был массив - ниже пример скрипта, включающего режим&nbsp; Always On Top <br />активного окна и добавляющего в заголовок окна надпись Always on top &quot;ON&quot;. Если хоткейнуть уже On Top окно, <br />скрипт выключает режим и убирает из заголовка надпись. На мой взгляд полезно знать, что такое<br />&quot;странное&quot; творится с этим дурацким окном <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /> Но есть пара вопросов, требующих доработки. <br />Надпись не хочет добавляться в explorer в win 7 и не понятно как быть с броузером, ведь у него<br />я вообще отключил titlebar. </p><p>В общем, надеюсь кому понравится:</p><div class="codebox"><pre><code>Array := Array()
ArrayTitle := Array()        
ArrayCount := 0

^SPACE::

WinGet, ontop, ID, A    
WinGetTitle, Title, ahk_id %ontop%
loop, %ArrayCount%
{
Value := Array[A_index]
if (Value = ontop)
    {
    OldTitle := ArrayTitle[A_index]
    WinSet, AlwaysOnTop, Off, ahk_id %ontop%
    WinSetTitle, ahk_id %ontop%, , %OldTitle%
    RemovedValue := Array.Remove(A_index)
    RemovedValue := ArrayTitle.Remove(A_index)
    ArrayCount -= 1
    Return
    }
}

ArrayCount += 1
Array[ArrayCount] := ontop
ArrayTitle[ArrayCount] := Title
WinSet, AlwaysOnTop, On, ahk_id %ontop%
WinSetTitle, ahk_id %ontop%, , %Title% - Always on top &quot;ON&quot;

Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Kamagi)]]></author>
			<pubDate>Thu, 05 Apr 2012 14:42:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58872#p58872</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58868#p58868</link>
			<description><![CDATA[<p>По поводу «Скрипт вкл/выкл режим always on top»:<br /></p><div class="codebox"><pre><code>^Space::
    MouseGetPos,,, hWnd
    WinSet, AlwaysOnTop, Toggle, ahk_id %hWnd%
    return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Thu, 05 Apr 2012 13:30:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58868#p58868</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58867#p58867</link>
			<description><![CDATA[<p>Гм, я пока не разобрался, где массив, а где псевдо, но вот рабочий скрипт:</p><div class="codebox"><pre><code>Array := Array()         
ArrayCount := 0

^SPACE::

MouseGetPos, , , id_top,    

loop, %ArrayCount%
{
Value := Array[A_index] 
MsgBox, v- %value%`nid - %id_top%`nLopp
if (Value = id_top)
    {
    MsgBox, v- %value%`nAC - %ArrayCount%`nid - %id_top%`nold
    RemovedValue := Array.Remove(A_index)
    ArrayCount -= 1
    Return
    }
}

ArrayCount += 1
Array[ArrayCount] := id_top
MsgBox, id - %id_top%`n AC - %ArrayCount%`nNew

Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Kamagi)]]></author>
			<pubDate>Thu, 05 Apr 2012 13:29:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58867#p58867</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58860#p58860</link>
			<description><![CDATA[<div class="codebox"><pre><code>^SPACE::

MouseGetPos, , , id_top,    ;узнаю id окна под курсором мыши, записываю в id_top    
Array := Object()        ;создаю массив Array         

Loop {  ; начало теоретически бесконечного цикла

Value := Array%A_Index%     ; записываете в переменную value значение переменной Array1, Array2 …

if (Value := id_top)         ; записываете в переменную value значение переменной id_top и в случае если переменная id_top не была пуста выполняеье блок ниже
    {
    MsgBox, v- %value%`ni - %A_index%`nid - %id_top%`nold
    RemovedValue := Array.Remove(%id_top%)
    return  ; выход из бесконечного цикла (при первом же выполнении)
    }
}

Array%ArrayCount% := id_top ; записываете в переменную Array значение переменной id_top
MsgBox, v- %value%`ni - %A_index%`nid - %id_top%`nNew

Return</code></pre></div><p>Ошибка — везде. Продолжайте чтение раздела справки про массивы, «Pseudo-Arrays» — не массивы.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Thu, 05 Apr 2012 12:08:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58860#p58860</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Скрипт вкл/выкл режим always on top для любого окна - помогите]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=58853#p58853</link>
			<description><![CDATA[<p>Помогите разобраться, где ошибка. <br />Хочу реализовать через массив и заодно разобраться, как он работает. <br />По хоткею включается Always on top и в левом верхнем углу должен<br />выводиться gui, мол, такое-то окно в режиме Always on top.</p><div class="codebox"><pre><code>^SPACE::

MouseGetPos, , , id_top,    ;узнаю id окна под курсором мыши, записываю в id_top    
Array := Object()        ;создаю массив Array         

Loop {

Value := Array%A_Index%     ;проверяю, есть ли id_top в массиве

if (Value := id_top)         ;если есть, значит включен режим Always on top  
    {
    MsgBox, v- %value%`ni - %A_index%`nid - %id_top%`nold
    RemovedValue := Array.Remove(%id_top%)
    Return
    }
}

Array%ArrayCount% := id_top
MsgBox, v- %value%`ni - %A_index%`nid - %id_top%`nNew

Return</code></pre></div><p>Где-то ошибка, потому что условие if всегда верно, т.е. id_top уже есть в массиве, <br />хотя её туда ни кто не записывал.</p>]]></description>
			<author><![CDATA[null@example.com (Kamagi)]]></author>
			<pubDate>Thu, 05 Apr 2012 10:12:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=58853#p58853</guid>
		</item>
	</channel>
</rss>
