<?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=17456&amp;type=atom" />
	<updated>2022-11-11T04:00:20Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17456</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155590#p155590" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong><br />спасибо, учту.</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2022-11-11T04:00:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155590#p155590</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155581#p155581" />
			<content type="html"><![CDATA[<p>Во втором коде вам надо посылать не ABM_GETSTATE, а ABM_GETTASKBARPOS.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-11-10T16:00:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155581#p155581</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155580#p155580" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong><br />Нашел, спасибо!</p><div class="codebox"><pre><code>
Loop
{
	Sleep, 30
	WinGetPos x, y, w, h, ahk_class Shell_TrayWnd
	ScreenCenterW:=(A_ScreenWidth/2)
	ScreenCenterH:=(A_ScreenHeight/2)

	TaskbarLoc:=( w&lt;A_ScreenWidth?(x&lt;ScreenCenterW?&quot;Left&quot;:&quot;Right&quot;):(y&lt;ScreenCenterH?&quot;Top&quot;:&quot;Bottom&quot;) )
	
	Tooltip, %TaskbarLoc%
}
Return
</code></pre></div><div class="codebox"><pre><code>
;ABM_GETSTATE message (Windows)
;https://msdn.microsoft.com/en-us/library/windows/desktop/bb787947(v=vs.85).aspx
;Note  As of Windows 7, ABS_ALWAYSONTOP is no longer returned because the taskbar is always in that state. Older code should be updated to ignore the absence of this value in not assume that return value to mean that the taskbar is not in the always-on-top state.

q:: ;taskbar - toggle auto-hide/always-on-top
vToggle := !vToggle * 0x3
;ABM_SETSTATE := 0xA
VarSetCapacity(APPBARDATA, A_PtrSize=8?48:36, 0)
NumPut(vToggle, &amp;APPBARDATA, A_PtrSize=8?40:32, &quot;UInt&quot;)
DllCall(&quot;shell32\SHAppBarMessage&quot;, UInt,0xA, Ptr,&amp;APPBARDATA, UPtr)
return

w:: ;taskbar - get state - auto-hide/always-on-top
VarSetCapacity(APPBARDATA, A_PtrSize=8?48:36, 0)
;ABM_GETSTATE := 0x4
vState := DllCall(&quot;shell32\SHAppBarMessage&quot;, UInt,0x4, Ptr,&amp;APPBARDATA, UPtr)

;from shellapi.h
;ABS_ALWAYSONTOP := 0x2 ;ABS_AUTOHIDE := 0x1
MsgBox, % &quot;auto-hide: &quot; (vState &amp; 0x1 ? &quot;on&quot; : &quot;off&quot;)
MsgBox, % &quot;always-on-top: &quot; (vState &amp; 0x2 ? &quot;on&quot; : &quot;off&quot;)
return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2022-11-10T15:11:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155580#p155580</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155574#p155574" />
			<content type="html"><![CDATA[<p>SHAppBarMessage.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-11-10T09:25:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155574#p155574</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155573#p155573" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong><br />нет, только во время &#039;Gui Show&#039;.</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2022-11-10T09:13:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155573#p155573</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155571#p155571" />
			<content type="html"><![CDATA[<p>Ещё панель задач можно растягивать. И у неё бывает опция &quot;автоматически скрывать&quot;, когда убираешь курсор. Скрипту придётся постоянно проверку и координат и размеров панели задач делать?</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2022-11-10T07:53:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155571#p155571</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Определить на какой стороне находится панель задач.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155570#p155570" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Хотелось бы некоторой помощи по поводу панели задач.<br />Размер панели задач может отличаться от версии Windows, а так же отличаться стороной, на которой она находится (Левый край экрана, правый и т.д).</p><p>Мне хочется располагать окно GUI всегда справа внизу по стандарту, но так, чтобы она не задевала панель задач при появление.<br />То есть я хочу, чтобы когда GUI окно появилось, оно не перекрыло панель задач, т.к GUI находится поверх всех окон.</p><p>Я могу вычислить через WinGetPos расположение, но как я подскажу скрипту, что панель задач находится, к примеру, не внизу, а сверху, либо справа?</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2022-11-10T04:55:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155570#p155570</id>
		</entry>
</feed>
