<?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=7839</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7839&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Активация окна наведением курсора без вывода на передний план».]]></description>
		<lastBuildDate>Mon, 03 Dec 2012 06:11:45 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AHK: Активация окна наведением курсора без вывода на передний план]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66428#p66428</link>
			<description><![CDATA[<p>По следам <a href="http://forum.script-coding.com/viewtopic.php?pid=63835#p63835">этой</a> темы. Недавно обнаружил, как можно включать и выключать &quot;active window tracking&quot; без перезагрузки. В принципе, я предпочитаю пользоваться этой возможностью постоянно, но встречаются приложения, работать с которыми не очень удобно, когда она включена (окна подсказок забирают фокус), и всегда хотелось иметь возможность отключать её ненадолго. Однако, иного способа, кроме как правка реестра и последующая перезагрузка (или logout + login, как верно <a href="http://forum.script-coding.com/viewtopic.php?pid=63854#p63854">подсказал</a> <strong>creature.ws</strong>, а вот <a href="http://forum.script-coding.com/viewtopic.php?pid=63857#p63857">версия</a> <strong>Irbis</strong>&#039;а не сработала) известно мне не было. Но теперь всё изменилось! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Следующая функция работает, как переключатель:<br /></p><div class="codebox"><pre><code>F11::
   ToolTip % &quot;ActiveWindowTracking &quot; . (ActiveWindowTracking_Toggle() ? &quot;В&quot; : &quot;ОТ&quot;) . &quot;ключен!&quot;
   Sleep, 1000
   ToolTip
   return

ActiveWindowTracking_Toggle(ActiveWndTrkZorder=0, ActiveWndTrkTimeout=0)
{
;  ActiveWndTrkZorder — выводить ли активируемое мышью окно на передний план
;  ActiveWndTrkTimeout — таймаут при активации мышью в милисекундах

   SPI_GETACTIVEWINDOWTRACKING := 0x1000
   SPI_SETACTIVEWINDOWTRACKING := 0x1001
   SPI_GETACTIVEWNDTRKZORDER := 0x100C 
   SPI_SETACTIVEWNDTRKZORDER := 0x100D
   SPI_GETACTIVEWNDTRKTIMEOUT := 0x2002
   SPI_SETACTIVEWNDTRKTIMEOUT := 0x2003
   SPIF_UPDATEINIFILE := 0x1
      
   if b := CheckAndAction(SPI_GETACTIVEWINDOWTRACKING, SPI_SETACTIVEWINDOWTRACKING, SPIF_UPDATEINIFILE)
   {
      CheckAndAction(SPI_GETACTIVEWNDTRKZORDER , SPI_SETACTIVEWNDTRKZORDER , SPIF_UPDATEINIFILE, ActiveWndTrkZorder)
      CheckAndAction(SPI_GETACTIVEWNDTRKTIMEOUT, SPI_SETACTIVEWNDTRKTIMEOUT, SPIF_UPDATEINIFILE, ActiveWndTrkTimeout)
   }
   Return !b
}

CheckAndAction(uiGET, uiSET, fWinIni, arg=&quot;&quot;)
{
   VarSetCapacity(buffer, 4)
   DllCall(&quot;SystemParametersInfo&quot;, UInt, uiGET, UInt, 0, Ptr, &amp;buffer, UInt, 0)
   if ((b := NumGet(buffer, &quot;UInt&quot;)) != arg)
      DllCall(&quot;SystemParametersInfo&quot;, UInt, uiSET, UInt, 0, Ptr, arg = &quot;&quot; ? !b : arg, UInt, fWinIni)
   Return b
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 03 Dec 2012 06:11:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66428#p66428</guid>
		</item>
	</channel>
</rss>
