<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10319&amp;type=atom" />
	<updated>2018-06-16T17:47:11Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10319</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=126087#p126087" />
			<content type="html"><![CDATA[<p>Раскладка языка пропадает ещё.</p>]]></content>
			<author>
				<name><![CDATA[qqlexa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=39096</uri>
			</author>
			<updated>2018-06-16T17:47:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=126087#p126087</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90819#p90819" />
			<content type="html"><![CDATA[<p>А, нет, всё таки можно увеличить скорость, загружая через AccessibleChildren только нужное количество потомков, особенно заметен прирост, когда в объекте много потомков, а требуемый в начале.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force 
#NoEnv  
OnExit Exit
hShellTray := WinExist(&quot;ahk_class Shell_TrayWnd ahk_exe explorer.exe&quot;) 
ControlGet, hTaskbar, HWND,, MSTaskListWClass1, ahk_id %hShellTray% 
ControlGet, hNotifyWnd, HWND,, TrayNotifyWnd1, ahk_id %hShellTray%  
DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, &quot;oleacc&quot;, &quot;Ptr&quot;)
ComObjError(false)
SetTimer, Reload, 1800000

Loop  {
    Sleep 50  
    If ((Acc := Acc_NeedChildren(Acc_ObjectFromWindow(hTaskbar),4)) = &quot;&quot;)
        Continue
    Acc.accLocation(ComObj(0x4003,&amp;x:=0), 0, ComObj(0x4003,&amp;w:=0), 0, Acc.accChildCount)    
    Right := NumGet(x,0,&quot;int&quot;) + NumGet(w,0,&quot;int&quot;)
    ControlGetPos, Left, , , , , ahk_id %hNotifyWnd%
    If (prLeft = Left &amp;&amp; prRight = Right)
        Continue
    prLeft := Left, prRight := Right
    WinGetPos, wX, , wW, wH, ahk_id %hShellTray% 
    Right -= wX
    WinSet, Region, % Right &quot;-0 0-0 0-&quot; wH &quot; &quot; Right &quot;-&quot; wH &quot; &quot; Right &quot;-0 &quot;
        . Left &quot;-&quot; wH &quot; &quot; wW &quot;-&quot; wH &quot; &quot; wW &quot;-0 &quot; Left &quot;-0&quot; &quot; &quot; Left &quot;-&quot; wH
        , ahk_id %hShellTray% 
}

Reload:
    Reload
    
Esc::
Exit:
    WinSet, Region, , ahk_id %hShellTray%
    ExitApp 
  
Acc_NeedChildren(Acc, Index) {  
    if DllCall(&quot;oleacc\AccessibleChildren&quot;, &quot;Ptr&quot;, ComObjValue(Acc), &quot;Int&quot;,0, &quot;Int&quot;, Index, &quot;Ptr&quot;,VarSetCapacity(varChildren, Index*(8+2*A_PtrSize),0)*0+&amp;varChildren, &quot;Int*&quot;, Index)=0 {
        Loop %Index%
            i:=(A_Index-1)*(A_PtrSize*2+8)+8, child:=NumGet(varChildren, i), Ret := (NumGet(varChildren,i-8)=9 ? ComObj(9,ComObjQuery(child, &quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;), 1) : child), NumGet(varChildren,i-8)=9 ? ObjRelease(child) : 0
        Return Ret
    }
}

Acc_ObjectFromWindow(hWnd, idObject = 0)  {
    If DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject&amp;=0xFFFFFFFF, &quot;Ptr&quot;, -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,&quot;Int64&quot;),&quot;Int64&quot;), &quot;Ptr*&quot;, pacc) = 0
        Return ComObjEnwrap(9, pacc, 1)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-20T19:51:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90819#p90819</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90817#p90817" />
			<content type="html"><![CDATA[<p>Я так понял, что &quot;oleacc\AccessibleChildren&quot; загружает в память сразу все объекты, и после, их жизненно необходимо все перебрать, чтобы для каждого применить &quot;ObjRelease&quot;.<br />И тут уже заявленный в 4 посте прирост скорости (20-25%) стремится к нулю, потому код ниже отличается от 2 поста, только отсутствием привязки к библиотеке.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force 
#NoEnv  
OnExit Exit
hShellTray := WinExist(&quot;ahk_class Shell_TrayWnd ahk_exe explorer.exe&quot;) 
ControlGet, hTaskbar, HWND,, MSTaskListWClass1, ahk_id %hShellTray% 
ControlGet, hNotifyWnd, HWND,, TrayNotifyWnd1, ahk_id %hShellTray%  
DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, &quot;oleacc&quot;, &quot;Ptr&quot;)
ComObjError(false)
SetTimer, Reload, 1800000

Loop  {
    Sleep 50  
    If ((Acc := Acc_NeedChildren(Acc_ObjectFromWindow(hTaskbar),4)) = &quot;&quot;)
        Continue
    Acc.accLocation(ComObj(0x4003,&amp;x:=0), 0, ComObj(0x4003,&amp;w:=0), 0, Acc.accChildCount)    
    Right := NumGet(x,0,&quot;int&quot;) + NumGet(w,0,&quot;int&quot;)
    ControlGetPos, Left, , , , , ahk_id %hNotifyWnd%
    If (prLeft = Left &amp;&amp; prRight = Right)
        Continue
    prLeft := Left, prRight := Right
    WinGetPos, wX, , wW, wH, ahk_id %hShellTray% 
    Right -= wX
    WinSet, Region, % Right &quot;-0 0-0 0-&quot; wH &quot; &quot; Right &quot;-&quot; wH &quot; &quot; Right &quot;-0 &quot;
        . Left &quot;-&quot; wH &quot; &quot; wW &quot;-&quot; wH &quot; &quot; wW &quot;-0 &quot; Left &quot;-0&quot; &quot; &quot; Left &quot;-&quot; wH
        , ahk_id %hShellTray% 
}

Reload:
    Reload
    
Esc::
Exit:
    WinSet, Region, , ahk_id %hShellTray%
    ExitApp 
  
Acc_NeedChildren(Acc, Index) { 
    cChildren:=Acc.accChildCount, Children:=[]
    if DllCall(&quot;oleacc\AccessibleChildren&quot;, &quot;Ptr&quot;,ComObjValue(Acc), &quot;Int&quot;,0, &quot;Int&quot;,cChildren, &quot;Ptr&quot;,VarSetCapacity(varChildren,cChildren*(8+2*A_PtrSize),0)*0+&amp;varChildren, &quot;Int*&quot;,cChildren)=0 {
        Loop %cChildren%
            i:=(A_Index-1)*(A_PtrSize*2+8)+8, child:=NumGet(varChildren,i), Children.Insert(NumGet(varChildren,i-8)=9 ? ComObj(9,ComObjQuery(child, &quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;), 1) : child), NumGet(varChildren,i-8)=9 ? ObjRelease(child) : 0
        return Children.MaxIndex() ? Children[Index] : 0
    }  
}

Acc_ObjectFromWindow(hWnd, idObject = 0)  {
    If DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject&amp;=0xFFFFFFFF, &quot;Ptr&quot;, -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,&quot;Int64&quot;),&quot;Int64&quot;), &quot;Ptr*&quot;, pacc) = 0
        Return ComObjEnwrap(9, pacc, 1)
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-20T18:57:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90817#p90817</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90405#p90405" />
			<content type="html"><![CDATA[<p>Как ни крутил, так и не понял в чём отличия Acc_NeedChildren от Acc_Children.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-13T06:39:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90405#p90405</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90305#p90305" />
			<content type="html"><![CDATA[<p>Но я этого не вижу в самой Acc_Children.<br />Так например память не кушает:<br /></p><div class="codebox"><pre><code>#SingleInstance Force 
#NoEnv  
OnExit Exit
hShellTray := WinExist(&quot;ahk_class Shell_TrayWnd ahk_exe explorer.exe&quot;) 
ControlGet, hTaskbar, HWND,, MSTaskListWClass1, ahk_id %hShellTray% 
ControlGet, hNotifyWnd, HWND,, TrayNotifyWnd1, ahk_id %hShellTray%   
SetTimer, Reload, 1800000

Loop  {
    Sleep 50  
    If ((Acc := Acc_Children(Acc_ObjectFromWindow(hTaskbar))[4]) = &quot;&quot;)
        Continue
    Acc.accLocation(ComObj(0x4003,&amp;x:=0), 0, ComObj(0x4003,&amp;w:=0), 0, Acc.accChildCount)    
    Right := NumGet(x,0,&quot;int&quot;) + NumGet(w,0,&quot;int&quot;)
    ControlGetPos, Left, , , , , ahk_id %hNotifyWnd%
    If (prLeft = Left &amp;&amp; prRight = Right)
        Continue
    prLeft := Left, prRight := Right
    WinGetPos, wX, , wW, wH, ahk_id %hShellTray% 
    Right -= wX
    WinSet, Region, % Right &quot;-0 0-0 0-&quot; wH &quot; &quot; Right &quot;-&quot; wH &quot; &quot; Right &quot;-0 &quot;
        . Left &quot;-&quot; wH &quot; &quot; wW &quot;-&quot; wH &quot; &quot; wW &quot;-0 &quot; Left &quot;-0&quot; &quot; &quot; Left &quot;-&quot; wH
        , ahk_id %hShellTray% 
}

Reload:
    Reload
    
Esc::
Exit:
    WinSet, Region, , ahk_id %hShellTray%
    ExitApp </code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-11T12:52:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90305#p90305</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90304#p90304" />
			<content type="html"><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd317975%28v=vs.85%29.aspx">AccessibleChildren()</a><br /></p><div class="quotebox"><blockquote><p>Clients must call the IUnknown::Release method for any IDispatch interfaces retrieved by this function, and free the array when it is no longer required.</p></blockquote></div><p>Сейчас подробно некогда смотреть.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-01-11T12:47:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90304#p90304</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90303#p90303" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Действительно, и однозначно это делает Acc_NeedChildren. Не понимаю, всё сделано по образу по подобию, в чём может быть дело?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-11T12:41:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90303#p90303</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90301#p90301" />
			<content type="html"><![CDATA[<p>Код из <a href="http://forum.script-coding.com/viewtopic.php?pid=90261#p90261">#3</a> нещадно память пожирает.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-01-11T11:55:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90301#p90301</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90277#p90277" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Ясно, жаль, но спасибо, так как цель в видимости любого OSD сквозь таскбар выполняется. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-10T17:38:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90277#p90277</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90276#p90276" />
			<content type="html"><![CDATA[<p>Всё правильно, этот код так и должен делать.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-10T17:25:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90276#p90276</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90275#p90275" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Т.е. у Вас такое же поведение?</p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-10T17:21:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90275#p90275</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90272#p90272" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Но становится прозрачной не вся панель</p></blockquote></div><p>Тут у меня никаких идей.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-10T16:54:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90272#p90272</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90269#p90269" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Опять удивляете, почти работает. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Но становится прозрачной не вся панель, а только свободное место. За иконками и значками уведомлений оно остается, смотрите как это выглядит на 8.1. Т.к. когда-то пытался добиться этого, редактируя стоковую тему, знаю, что у значков уведомлений своя собственная подложка.</p><p><span class="postimg"><img src="http://s017.radikal.ru/i408/1501/c4/f1729d72175e.png" alt="http://s017.radikal.ru/i408/1501/c4/f1729d72175e.png" /></span><br /><a href="http://s017.radikal.ru/i408/1501/c4/f1729d72175e.png">http://s017.radikal.ru/i408/1501/c4/f1729d72175e.png</a></p>]]></content>
			<author>
				<name><![CDATA[Esc]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32797</uri>
			</author>
			<updated>2015-01-10T14:43:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90269#p90269</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90264#p90264" />
			<content type="html"><![CDATA[<p>К Acc_NeedChildren легко прикручивается привычный Path.<br /></p><div class="codebox"><pre><code>
DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)
Win := WinExist(&quot;ahk_class CabinetWClass ahk_exe explorer.exe&quot;)    
Acc := Acc_ObjectFromPath(Acc_ObjectFromWindow(Win), &quot;4,3,4,1,4,1,4,1,8&quot;)
MsgBox, % Acc.accName(0)
Return

Acc_ObjectFromPath(Acc, Path)  { 
    Loop, parse, Path, `,
        Acc := Acc_NeedChildren(Acc, A_LoopField)
    Return Acc
}

Acc_NeedChildren(Acc, Index)  {  
    If DllCall(&quot;oleacc\AccessibleChildren&quot;, &quot;Ptr&quot;, ComObjValue(Acc), &quot;Int&quot;, 0, &quot;Int&quot;, Index, &quot;Ptr&quot;, VarSetCapacity(varChildren, Index * (8 + 2 * A_PtrSize), 0) * 0 + &amp;varChildren, &quot;Int*&quot;, Index) = 0  { 
        i := (Index - 1) * (A_PtrSize * 2 + 8) + 8, child := NumGet(varChildren, i)
        return (NumGet(varChildren, i - 8) = 9 ? ComObj(9, ComObjQuery(child, &quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;), 1) : child), ObjRelease(child)
    } 
}

Acc_ObjectFromWindow(hWnd, idObject = 0)  {
    If DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject&amp;=0xFFFFFFFF, &quot;Ptr&quot;, -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,&quot;Int64&quot;),&quot;Int64&quot;), &quot;Ptr*&quot;, pacc) = 0
        Return ComObjEnwrap(9, pacc, 1)
}
</code></pre></div><p>По результатам тестов, работает на 20-25% процентов быстрее, чем Acc_Get.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-10T14:03:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90264#p90264</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: полностью прозрачная панель задач Windows, возможно ли?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90261#p90261" />
			<content type="html"><![CDATA[<p>Библиотека Acc не требуется.</p><p>Давно неустраивала Acc_Get своей громоздкостью, и ненужным перебором всех Child в объекте, всего лишь для получения одного объекта. По случаю написал функцию Acc_NeedChildren.<br /></p><div class="codebox"><pre><code>
#SingleInstance Force 
#NoEnv  
OnExit Exit
hShellTray := WinExist(&quot;ahk_class Shell_TrayWnd ahk_exe explorer.exe&quot;) 
ControlGet, hTaskbar, HWND,, MSTaskListWClass1, ahk_id %hShellTray% 
ControlGet, hNotifyWnd, HWND,, TrayNotifyWnd1, ahk_id %hShellTray%  
DllCall(&quot;LoadLibrary&quot;, &quot;Str&quot;, &quot;oleacc&quot;, &quot;Ptr&quot;)
ComObjError(false)
SetTimer, Reload, 1800000

Loop  {
    Sleep 50  
    If ((Acc := Acc_NeedChildren(Acc_ObjectFromWindow(hTaskbar), 4)) = &quot;&quot;)
        Continue
    Acc.accLocation(ComObj(0x4003,&amp;x:=0), 0, ComObj(0x4003,&amp;w:=0), 0, Acc.accChildCount)    
    Right := NumGet(x,0,&quot;int&quot;) + NumGet(w,0,&quot;int&quot;)
    ControlGetPos, Left, , , , , ahk_id %hNotifyWnd%
    If (prLeft = Left &amp;&amp; prRight = Right)
        Continue
    prLeft := Left, prRight := Right
    WinGetPos, wX, , wW, wH, ahk_id %hShellTray% 
    Right -= wX
    WinSet, Region, % Right &quot;-0 0-0 0-&quot; wH &quot; &quot; Right &quot;-&quot; wH &quot; &quot; Right &quot;-0 &quot;
        . Left &quot;-&quot; wH &quot; &quot; wW &quot;-&quot; wH &quot; &quot; wW &quot;-0 &quot; Left &quot;-0&quot; &quot; &quot; Left &quot;-&quot; wH
        , ahk_id %hShellTray% 
}

Reload:
    Reload
    
Esc::
Exit:
    WinSet, Region, , ahk_id %hShellTray%
    ExitApp 

Acc_ObjectFromWindow(hWnd, idObject = 0)  {
    If DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject&amp;=0xFFFFFFFF, &quot;Ptr&quot;, -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,&quot;Int64&quot;),&quot;Int64&quot;), &quot;Ptr*&quot;, pacc) = 0
    Return ComObjEnwrap(9, pacc, 1)
}

Acc_NeedChildren(Acc, Index)  {  
    if DllCall(&quot;oleacc\AccessibleChildren&quot;, &quot;Ptr&quot;, ComObjValue(Acc), &quot;Int&quot;, 0, &quot;Int&quot;, Index, &quot;Ptr&quot;, VarSetCapacity(varChildren, Index * (8 + 2 * A_PtrSize), 0) * 0 + &amp;varChildren, &quot;Int*&quot;, Index) = 0  { 
        i := (Index - 1) * (A_PtrSize * 2 + 8) + 8, child := NumGet(varChildren, i)
        return (NumGet(varChildren, i - 8) = 9 ? ComObj(9, ComObjQuery(child, &quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;), 1) : child), ObjRelease(child)
    } 
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2015-01-10T13:31:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90261#p90261</id>
		</entry>
</feed>
