Advertisement
Guest User

Изменяем размер окон правой кнопкой мыши с зажатой клавишей

a guest
Jun 25th, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;======================================================================
  2. ;Изменяем размер окон правой кнопкой мыши с зажатой клавишей Win
  3. ;======================================================================
  4. LWin & RButton::
  5. CoordMode, Mouse ; Switch to screen/absolute coordinates.
  6. MouseGetPos, SWM_MouseStartX, SWM_MouseStartY, SWM_MouseWin
  7. WinGetPos, SWM_WinX, SWM_WinY, SWM_WinW, SWM_WinH, ahk_id %SWM_MouseWin%
  8. WinGetClass, SWM_Win_Class, ahk_id %SWM_MouseWin%
  9. If SWM_Win_Class = ProgMan
  10. Return
  11. WinGet, State, MinMax, ahk_id %SWM_MouseWin%
  12. If State = 1
  13. {
  14. SplashImage,, W160 H26 B1 FM8 WM400 CT000080,, Окно максимизировано,, Calibri
  15. SetTimer, Remove_Splash, 600
  16. Return
  17. }
  18. GetKeyState, SMW_LCtrlState, LCtrl
  19. if SMW_LCtrlState=D
  20. {
  21. WinClose, ahk_id %SWM_MouseWin%
  22. return
  23. }
  24. SWM_ResizeTypeX=0
  25. SWM_ResizeTypeY=0
  26. if (SWM_MouseStartX < SWM_WinX+SWM_WinW/2)
  27. SWM_ResizeTypeX=1
  28. if (SWM_MouseStartY < SWM_WinY+SWM_WinH/2)
  29. SWM_ResizeTypeY=1
  30. SetTimer, SWM_WatchMouse_Resize, 10
  31. return
  32.  
  33. SWM_WatchMouse_Move:
  34. GetKeyState, SMW_LButtonState, LButton, P
  35. if SMW_LButtonState = U
  36. {
  37. SetTimer, SWM_WatchMouse_Move, off
  38. return
  39. }
  40. Gosub SWM_GetMouseAndWindowPos
  41. SWM_WinX += %SWM_DeltaX%
  42. SWM_WinY += %SWM_DeltaY%
  43. SetWinDelay, -1
  44. WinMove, ahk_id %SWM_MouseWin%,, %SWM_WinX%, %SWM_WinY%
  45. return
  46.  
  47. SWM_WatchMouse_Resize:
  48. GetKeyState, SMW_RButtonState, RButton, P
  49. if SMW_RButtonState = U
  50. {
  51. SetTimer, SWM_WatchMouse_Resize, off
  52. return
  53. }
  54. Gosub SWM_GetMouseAndWindowPos
  55. if SWM_ResizeTypeX
  56. {
  57. SWM_WinX += %SWM_DeltaX%
  58. SWM_WinW -= %SWM_DeltaX%
  59. }
  60. else
  61. SWM_WinW += %SWM_DeltaX%
  62. if SWM_ResizeTypeY
  63. {
  64. SWM_WinY += %SWM_DeltaY%
  65. SWM_WinH -= %SWM_DeltaY%
  66. }
  67. else
  68. SWM_WinH += %SWM_DeltaY%
  69. SetWinDelay, -1
  70. WinMove, ahk_id %SWM_MouseWin%,, %SWM_WinX%, %SWM_WinY%, %SWM_WinW%, %SWM_WinH%
  71. return
  72.  
  73. SWM_GetMouseAndWindowPos:
  74. CoordMode, Mouse
  75. MouseGetPos, SWM_MouseX, SWM_MouseY
  76. SWM_DeltaX = %SWM_MouseX%
  77. SWM_DeltaX -= %SWM_MouseStartX%
  78. SWM_DeltaY = %SWM_MouseY%
  79. SWM_DeltaY -= %SWM_MouseStartY%
  80. SWM_MouseStartX = %SWM_MouseX%
  81. SWM_MouseStartY = %SWM_MouseY%
  82. WinGetPos, SWM_WinX, SWM_WinY, SWM_WinW, SWM_WinH, ahk_id %SWM_MouseWin%
  83. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement