<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9384</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9384&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Проверка активности окна [#If WinActive] не хочет работать».]]></description>
		<lastBuildDate>Thu, 27 Mar 2014 13:07:24 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81253#p81253</link>
			<description><![CDATA[<p><span style="color: #008800"><strong>stealzy</strong>, у нас прянято пользоваться знаками препинания. Отредактируйте свои посты.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 27 Mar 2014 13:07:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81253#p81253</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81252#p81252</link>
			<description><![CDATA[<p>Добавим еще уличной магии:<br />Перемещение без мышки, независимо от положения курсора<br />(невозможно промахнуться или сдвинуть изображение за край экрана),<br />получение полного пути к файлу в буфер обмена.</p><br /><div class="codebox"><pre><code>
#MaxHotkeysPerInterval 200
SetBatchLines -1
CoordMode, Mouse, Screen
pointStart:=-4, step:=0.04, dmax:=40, Global key_lock:=0, shift_press:=0, XcenterFullScrPic:=A_ScreenWidth / 2, YcenterFullScrPic:=(A_ScreenHeight-32) / 2
PixPre(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre) ; Get prediction RGB in center pixel
OnExit, ExitSub
{ ; Передает последний параметр просмотрщику, без параметров - передает pic.jpg в своей дир.
param0 := %0%
Loop %0%
{
param1 := %A_Index%
}
If param0 = 0
    Run, %A_ScriptDir%\PicasaPhotoViewer.exe %A_ScriptDir%\pic.jpg, %A_ScriptDir%
Else
    Run, %A_ScriptDir%\PicasaPhotoViewer.exe %param1%, %A_ScriptDir%
}
{ ; Проверка сущ процесса
#Persistent
SetTimer, CheckWin, 1000
return
CheckWin:
If Not WinActive(&quot;ahk_class ytWindow&quot;)
    PixPre(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
if !WinExist(&quot;ahk_class ytWindow&quot;) 
    ExitApp
Return
}
Return

{ ;    Keys
#If WinActive(&quot;ahk_class ytWindow&quot;)
~vk1b::ExitApp                            ;Exit            
Enter::ExitApp                                

vkdc::                                    ;Получить полный путь в буфер
WinGetTitle, tit, ahk_class ytWindow
filename := RegExReplace(tit, &quot;^(.+?\.(jpg|png|gif)) - .*&quot;, &quot;\$1&quot;)
If param0 = 0
    fpath := A_ScriptDir
Else
    fpath := RegExReplace(param1, &quot;^(.+)\\[^\\]+\.(jpg|png|gif)$&quot;, &quot;$1&quot;)
ffilename := (fpath . filename)
clipboard := ffilename
Return

*Shift::                                ; имитация LKM
If shift_press=0
{
    LKM_press(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
    shift_press:=1
}
Return
*Shift Up::
    shift_press:=0
    SendPlay {LButton Up}
    RestoreCursors()
Return
                                        ; имитация mousemove
#If WinActive(&quot;ahk_class ytWindow&quot;) &amp;&amp; (GetKeyState(&quot;Shift&quot;,&quot;P&quot;) || GetKeyState(&quot;Ctrl&quot;,&quot;P&quot;))
*Left::
*Right::
*Up::
*Down::
   i := pointStart, d := 0
   While (K:=MoveKeys()) &amp;&amp; Not key_lock {
      MovePicTroughScreenBorder(key_lock, XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
      K:=K&amp;~Borders()
      if (d&lt;dmax)
      {
        i:=i+Step                        ; step
        a:=!a                             ; addiction
        d:=(dmax*(1/(1+(3**(-i)))))+a     ; s-образная (сигмоида)
      }
      MouseMove -d*(K&amp;1)+d*(K&gt;&gt;1&amp;1),-d*(K&gt;&gt;2&amp;1)+d*(K&gt;&gt;3),0,R
   }
Return
#IfWinActive
}

;    куча условий, чтобы не промазать мимо картинки
LKM_press(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre) {
Global key_lock:=1
    CoordMode, Mouse, Screen
    MouseGetPos, xpos, ypos ;, id
    WinGetPos, X, Y, width, heigth, ahk_class ytWindow
    If (X||Y)=0 {
        CoordMode, Mouse, Screen
        if (ypos&lt;(A_ScreenHeight-52))
        {
            if A_Cursor=SizeAll
                lbd:=1
            else {
                If PixIsImage(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
                {
                    MouseMove, %XcenterFullScrPic%, %YcenterFullScrPic%, 0
                    Sleep 100
                    if A_Cursor=SizeAll
                        lbd:=1
                } else {
                    MouseMove, XcenterFullScrPic-100, A_ScreenHeight, 0
                    Click 2
                    MouseMove, %XcenterFullScrPic%, %YcenterFullScrPic%, 0
                    Sleep 100
                    IfWinExist, Настройка Picasa Photo Viewer
                        WinClose
                    if A_Cursor=SizeAll
                        lbd:=1
                }
            }
        } else {
            MouseMove, 0, (A_ScreenHeight-58-ypos), 0, R
            if A_Cursor=SizeAll
                lbd:=1
            else {
                If PixIsImage(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
                {
                    MouseMove, %XcenterFullScrPic%, %YcenterFullScrPic%, 1
                    Sleep 100
                    if A_Cursor=SizeAll
                        lbd:=1
                } else {
                    MouseMove, XcenterFullScrPic-100, A_ScreenHeight, 0
                    Click 2
                    MouseMove, %XcenterFullScrPic%, %YcenterFullScrPic%, 1
                    Sleep 100
                    IfWinExist, Настройка Picasa Photo Viewer
                        WinClose
                    if A_Cursor=SizeAll
                        lbd:=1
                }
            }
        }
    }
    If lbd
        SetSystemCursor()
        SendPlay {LButton down}
    WinGetPos, X, Y, width, heigth, ahk_class ytWindow
    If (X||Y)!=0 {
        if lbd
            SendPlay {LButton Up}
        WinActivate, ahk_class ytWindow
            WinGetPos, X, Y, Width, Height
            Xcentr:=X+Width/2
            Ycentr:=Y+Height/2+15
            If (Xcentr-A_ScreenWidth)&gt;-5 || (Ycentr-A_ScreenHeight)&gt;-5 || Xcentr&lt;5 || Ycentr&lt;5
            {
                WinMove, (XcenterFullScrPic-Width/2), (YcenterFullScrPic-Height/2-15)
            }
        MoveMouseToClientAreaCenter()
        SendMode Input
        ControlSend,, {Enter}, ahk_class ytWindow
        Sleep 300
        if A_Cursor=SizeAll
        {
            SetSystemCursor()
            SendPlay {LButton down}
        }
    }
    lbd:=0, Global key_lock:=0
}

MoveKeys() {
   Return GetKeyState(&quot;Left&quot;,&quot;P&quot;) | GetKeyState(&quot;Right&quot;,&quot;P&quot;)&lt;&lt;1
        | GetKeyState(&quot;Up&quot;,&quot;P&quot;)&lt;&lt;2 | GetKeyState(&quot;Down&quot;,&quot;P&quot;)&lt;&lt;3
}
Borders() {       ; если курсор не у края - 0000, в правом нижнем углу - возвращает 0101, у верхней - 0010
MouseGetPos, x, y
Return ((x&lt;=0) | (x&gt;=A_ScreenWidth-1)&lt;&lt;1
   | (y&lt;=0)&lt;&lt;2 | (y&gt;=A_ScreenHeight-56)&lt;&lt;3)
}
;    Для того, чтобы не тыкать мимо картинки
PixGet(X, Y, ByRef R, ByRef G, ByRef B) {           ; получает цвета в переменные
PixelGetColor, color, %X%, %Y%, Slow
R := &quot;0x&quot; . SubStr(Color, 7, 2)
G := &quot;0x&quot; . SubStr(Color, 5, 2)
B := &quot;0x&quot; . SubStr(Color, 3, 2)
}
PixPre(X, Y, ByRef Rpre, ByRef Gpre, ByRef Bpre) {  ; по цвету оригинального пикселя предсказывает цвет затененного
PixGet(X, Y, R, G, B)
Rpre := Floor(Round((0.3198*R),0) + Round((0.1465*G),0) + Round((0.0255*B),0))
Gpre := Floor(Round((0.0726*R),0) + Round((0.3936*G),0) + Round((0.0255*B),0))
Bpre := Floor(Round((0.0726*R),0) + Round((0.1465*G),0) + Round((0.2728*B),0))
}
PixIsTrans(Rpre, R, Gpre, G, Bpre, B) {                ; сравнивает предсказанный цвет с введенным
If Abs(Rpre-R) &gt;5 || Abs(Gpre-G) &gt;5 || Abs(Bpre-B) &gt;5
{
    if Rpre&gt;R &amp;&amp; Gpre&gt;G &amp;&amp; Bpre&gt;B
    {
        CR:=Rpre/R-1, CG:=Gpre/G-1, CB:=Bpre/B-1
        if CR&lt;0.6 &amp;&amp; CG&lt;0.6 &amp;&amp; CB&lt;0.6 &amp;&amp; Abs(CR-CG)&lt;0.1 &amp;&amp; Abs(CR-CB)&lt;0.1 &amp;&amp; Abs(CB-CG)&lt;0.1
            Return 1
        else
            Return 0
    }
    Else
        Return 0
}
Else
    Return 1
}
PixIsGrey(X, Y, R, G, B) {
    If (R=G and G=B)
        If (R=127)
            Return 1
        Else
            If (R&lt;127 and R&gt;=84)
            {
                G:=Borders(), sx:=X, sy:=Y
                PixGet((X+sx*(G&amp;1)-sx*(G&gt;&gt;1&amp;1)), (Y+sy*(G&gt;&gt;2&amp;1)-sy*(G&gt;&gt;3)), Rb, Gb, Bb)
                Return (Rb=Gb and Gb=Bb and Rb=127)
            }
            Else
                Return 0
    Else
        Return 0
}
PixIsImage(X, Y, Rpre, Gpre, Bpre) {                ; возвращает 1 если это пиксель картинки
PixGet(X, Y, R, G, B)
Return Not ( PixIsTrans(Rpre, R, Gpre, G, Bpre, B ) ||  PixIsGrey(X, Y, R, G, B) )
}
MovePicTroughScreenBorder(key_lock, XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre) {
    If (G:=Borders()&amp;MoveKeys()) And (key_lock=0) ;And  ; если центр.пиксель принадлежит картинке, курсор на границе
    {
        if PixIsImage(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
        {    
            MsgBox % Rpre &quot; &quot; Gpre &quot; &quot; Bpre
            SendPlay {LButton Up}
            s:=10 ; поправка
            MouseMove, ((XcenterFullScrPic-s)*((G&amp;1)-(G&gt;&gt;1&amp;1))), ((YcenterFullScrPic-s)*((G&gt;&gt;2&amp;1)-(G&gt;&gt;3))), 0, R    ; перемещаем курсор в центр, s - смещение
            ;If A_Cursor=SizeAll
                SendPlay {LButton Down}
            ;Else
                ;LKM_press(XcenterFullScrPic, YcenterFullScrPic, Rpre, Gpre, Bpre)
        } else {
            Global i:=-2, d:=1
        }
    }
}
;    Прячем/показываем курсор
SetSystemCursor() {
    Cursor = %A_ScriptDir%\no.ani
    CursorHandle := DllCall( &quot;LoadCursorFromFile&quot;, Str,Cursor )
    DllCall( &quot;SetSystemCursor&quot;, Uint,CursorHandle, Int,32649 )
    CursorHandle := DllCall( &quot;LoadCursorFromFile&quot;, Str,Cursor )
    DllCall( &quot;SetSystemCursor&quot;, Uint,CursorHandle, Int,32646 )
    CursorHandle := DllCall( &quot;LoadCursorFromFile&quot;, Str,Cursor )
    DllCall( &quot;SetSystemCursor&quot;, Uint,CursorHandle, Int,32512 )
}
RestoreCursors() {
    SPI_SETCURSORS := 0x57
    DllCall( &quot;SystemParametersInfo&quot;, UInt,SPI_SETCURSORS, UInt,0, UInt,0, UInt,0 )
}
;    Mousemove в центр окна в случае, если промазали
GetClientRect(hwnd, ByRef rX, ByRef rY, ByRef rWidth, ByRef rHeight) {
    WinGetPos, , , , Window_Height, ahk_id %hwnd%
    VarSetCapacity(rcClient, 16, 0) 
    DllCall(&quot;user32\GetClientRect&quot;,&quot;uint&quot;, hwnd ,&quot;uint&quot;,&amp;rcClient)   
    rcClient_b := NumGet(rcClient, 12) 
    VarSetCapacity(pwi, 68, 0)
    DllCall(&quot;GetWindowInfo&quot;, &quot;UInt&quot;, hwnd, &quot;UInt&quot;, &amp;pwi) 
    rX := NumGet(pwi, 48) , by := NumGet(pwi, 52) 
    rY := Window_Height - by - rcClient_b  
    rWidth := NumGet(rcClient, 8)
    rHeight := NumGet(rcClient, 12)
}
MoveMouseToClientAreaCenter() {
    Sleep 50
    GetClientRect(WinExist(&quot;ahk_class ytWindow&quot;), rX, rY, rWidth, rHeight)
    XcenterPi:=(rWidth // 2)
    YcenterPi:=(rHeight // 2)
    Send {LButton Up}
    CoordMode, Mouse, Client
    MouseMove, %XcenterPi%, %YcenterPi%, 0
    CoordMode, Mouse, Screen
    Sleep 50
}

ExitSub:
{
    RestoreCursors() 
    If GetKeyState(&quot;Left&quot;)
        Send {Shift up}
    If GetKeyState(&quot;LButton&quot;)
        Send {LButton up}
    Sleep 500
    IfWinExist, AHK_class ytWindow
        WinClose
    Sleep 500
    Process, Close, PicasaPhotoViewer.exe
    ExitApp
}

/*
Логика функции LKM_press
окно макс -мышь не ниже -курсор (-pix центр  (-даблклик по галерее))

                    -ниже -поднимаем  -курсор (-pix -центр  (-даблклик по галерее))
                    
окно мин  - окно в границах -да мышь над окном - да - энтер - курсор
                                          - нет - тащим мышь к окну - энтер - курсор
                            -нет - тащим окно в центр -и мышь - энтер*/
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Thu, 27 Mar 2014 11:46:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81252#p81252</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81039#p81039</link>
			<description><![CDATA[<p>Всего лишь небольшое отступление от решения задачи &quot;в лоб&quot;, но ничего сложного и изысканного. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Пара манипуляций с данными -это не совсем ...<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;магия</div><div class="fancy_spoiler"><p><span class="postimg"><img src="http://img0.joyreactor.cc/pics/comment/David-Blaine-harrison-ford-Харрисон-Форд-девид-блейн-800456.jpeg" alt="http://img0.joyreactor.cc/pics/comment/David-Blaine-harrison-ford-Харрисон-Форд-девид-блейн-800456.jpeg" /></span></p></div></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Thu, 20 Mar 2014 20:57:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81039#p81039</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81031#p81031</link>
			<description><![CDATA[<p>Так работает. Комбинации клавиш (вверх+влево и т.п.) также обрабатываются.<br /></p><div class="codebox"><pre><code>SetBatchLines -1
Run, %A_ScriptDir%\PicasaPhotoViewer.exe pic.jpg, %A_ScriptDir%
Return
~vk1b::ExitApp

#If WinActive(&quot;ahk_class ytWindow&quot;)
*Shift:: LButton
#If WinActive(&quot;ahk_class ytWindow&quot;) &amp;&amp; GetKeyState(&quot;Shift&quot;,&quot;P&quot;)
*Left::
*Right::
*Up::
*Down::
   While K:=MoveKeys()
      MouseMove -20*(K&amp;1)+20*(K&gt;&gt;1&amp;1),-20*(K&gt;&gt;2&amp;1)+20*(K&gt;&gt;3),0,R
Return
#IfWinActive

MoveKeys()
{
   Return GetKeyState(&quot;Left&quot;,&quot;P&quot;) | GetKeyState(&quot;Right&quot;,&quot;P&quot;)&lt;&lt;1
        | GetKeyState(&quot;Up&quot;,&quot;P&quot;)&lt;&lt;2 | GetKeyState(&quot;Down&quot;,&quot;P&quot;)&lt;&lt;3
}
</code></pre></div><br /><p>Вариант с ускорением движения может быть интересней, плюс курсор передвигается стрелками при зажатой клавише Control:</p><div class="codebox"><pre><code>SetBatchLines -1
Run, %A_ScriptDir%\PicasaPhotoViewer.exe pic.jpg, %A_ScriptDir%
Step := 0.5, dmax := 20
Return
~vk1b::ExitApp

#If WinActive(&quot;ahk_class ytWindow&quot;)
*Shift:: LButton
#If WinActive(&quot;ahk_class ytWindow&quot;) &amp;&amp; (GetKeyState(&quot;Shift&quot;,&quot;P&quot;) || GetKeyState(&quot;Ctrl&quot;,&quot;P&quot;))
*Left::
*Right::
*Up::
*Down::
   d := 0
   While K:=MoveKeys() {
      if (d&lt;dmax)
         d+=Step
      MouseMove -d*(K&amp;1)+d*(K&gt;&gt;1&amp;1),-d*(K&gt;&gt;2&amp;1)+d*(K&gt;&gt;3),0,R
   }
Return
#IfWinActive

MoveKeys()
{
   Return GetKeyState(&quot;Left&quot;,&quot;P&quot;) | GetKeyState(&quot;Right&quot;,&quot;P&quot;)&lt;&lt;1
        | GetKeyState(&quot;Up&quot;,&quot;P&quot;)&lt;&lt;2 | GetKeyState(&quot;Down&quot;,&quot;P&quot;)&lt;&lt;3
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Thu, 20 Mar 2014 17:40:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81031#p81031</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81025#p81025</link>
			<description><![CDATA[<p>Аналогичные IfWinNotActive/IfWinActive внутри подпрограмм хоткеев работают, но хочется ведь чтобы клавиши вообще не обрабатывались.<br />Работает:<br /></p><div class="codebox"><pre><code>
+vk25::
IfWinNotActive, ahk_class ytWindow ; - работает
    return
MsgBox, Ok.
return
</code></pre></div><p>Не работает:<br /></p><div class="codebox"><pre><code>
#IfWinActive, ahk_class ytWindow ; -  не работает.
+vk25::
MsgBox, Ok.
return
#If</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Thu, 20 Mar 2014 15:55:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81025#p81025</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80996#p80996</link>
			<description><![CDATA[<p>Для начала, неплохо бы скачать вложение - почему-то и ТКоммандер, и WinRar ругаются на битый архив 7z.</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Wed, 19 Mar 2014 19:16:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80996#p80996</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80993#p80993</link>
			<description><![CDATA[<div class="codebox"><pre><code>
+Left::
</code></pre></div><p>Возможно что такой замены будет достаточно.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 19 Mar 2014 17:45:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80993#p80993</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Проверка активности окна [#If WinActive] не хочет работать]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80981#p80981</link>
			<description><![CDATA[<p>Подскажите пожалуйста, как сделать, чтобы хоткеи действовали только при активном окне.<br />Аналогичные IfWinNotActive/IfWinActive внутри подпрограмм хоткеев работают, но хочется ведь чтобы клавиши вообще не обрабатывались.<br />Не работает:<br /></p><div class="codebox"><pre><code>
#IfWinActive, ahk_class ytWindow ; -  не работает.
+vk25::
MsgBox, Ok.
return
#If</code></pre></div><p>Работает, но клавиши обрабатываются даже когда окно неактивно:<br /></p><div class="codebox"><pre><code>
+vk25::
IfWinNotActive, ahk_class ytWindow ; - работает
    return
MsgBox, Ok.
return
</code></pre></div><p>Работает в примере. Но у меня не Msgbox, а цикл<span style="color: green">(под спойлером)</span><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>+vk25::<br />GetKeyState, state, LButton<br />if state = U<br />	SendPlay {Click down}; 640, 400}<br />Loop {<br />	MouseMove, -20, 0, 0, R<br />	GetKeyState, state, vk25<br />	if state = U<br />	{<br />		SendPlay {Click Up}<br />		Break<br />	}<br />}</p></div></div><div class="codebox"><pre><code>
#IfWinActive, ahk_class ytWindow ; -  не работает.
+Left::
MsgBox, Ok.
return
#If</code></pre></div><p>Зачем все это</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>Скрипт предназначен для перетаскивания изображения в граф.просмотрщике клавиатурой.<br />Алгоритм: шифт эмул. ЛКМ; стрелки - MouseMove, если зажат шифт.<br />Сам просмотрщик со скриптом прилагается, просто разархивируйте и запустите picas.ahk, откроется картинка; затем нажмите комбинацию Shift+Left/Right/Up.</p></div></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Wed, 19 Mar 2014 08:41:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80981#p80981</guid>
		</item>
	</channel>
</rss>
