1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
SetWinDelay 2 CoordMode "Mouse"
g_DoubleAlt := false
!LButton:: { global g_DoubleAlt if g_DoubleAlt { MouseGetPos ,, &KDE_id PostMessage 0x0112, 0xf020,,, KDE_id g_DoubleAlt := false return } MouseGetPos &KDE_X1, &KDE_Y1, &KDE_id if WinGetMinMax(KDE_id) return WinGetPos &KDE_WinX1, &KDE_WinY1,,, KDE_id Loop { if !GetKeyState("LButton", "P") break MouseGetPos &KDE_X2, &KDE_Y2 KDE_X2 -= KDE_X1 KDE_Y2 -= KDE_Y1 KDE_WinX2 := (KDE_WinX1 + KDE_X2) KDE_WinY2 := (KDE_WinY1 + KDE_Y2) WinMove KDE_WinX2, KDE_WinY2,,, KDE_id } }
!RButton:: { global g_DoubleAlt if g_DoubleAlt { MouseGetPos ,, &KDE_id if WinGetMinMax(KDE_id) WinRestore KDE_id Else WinMaximize KDE_id g_DoubleAlt := false return } MouseGetPos &KDE_X1, &KDE_Y1, &KDE_id if WinGetMinMax(KDE_id) return WinGetPos &KDE_WinX1, &KDE_WinY1, &KDE_WinW, &KDE_WinH, KDE_id if (KDE_X1 < KDE_WinX1 + KDE_WinW / 2) KDE_WinLeft := 1 else KDE_WinLeft := -1 if (KDE_Y1 < KDE_WinY1 + KDE_WinH / 2) KDE_WinUp := 1 else KDE_WinUp := -1 Loop { if !GetKeyState("RButton", "P") break MouseGetPos &KDE_X2, &KDE_Y2 WinGetPos &KDE_WinX1, &KDE_WinY1, &KDE_WinW, &KDE_WinH, KDE_id KDE_X2 -= KDE_X1 KDE_Y2 -= KDE_Y1 WinMove KDE_WinX1 + (KDE_WinLeft+1)/2*KDE_X2 , KDE_WinY1 + (KDE_WinUp+1)/2*KDE_Y2 , KDE_WinW - KDE_WinLeft *KDE_X2 , KDE_WinH - KDE_WinUp *KDE_Y2 , KDE_id KDE_X1 := (KDE_X2 + KDE_X1) KDE_Y1 := (KDE_Y2 + KDE_Y1) } }
!MButton:: { global g_DoubleAlt if g_DoubleAlt { MouseGetPos ,, &KDE_id WinClose KDE_id g_DoubleAlt := false return } }
~Alt:: { global g_DoubleAlt := (A_PriorHotkey = "~Alt" and A_TimeSincePriorHotkey < 400) Sleep 0 KeyWait "Alt" }
|