Move window from anywere Topic is solved

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
User avatar
Elermino
Posts: 114
Joined: 29 Nov 2021, 17:43

Move window from anywere

Post by Elermino » 07 Aug 2022, 09:54

I have this script that moves a window from anywhere. I would like someone to do me the favor of doing the same thing but only pressing a button (F22), I have already tried changing the code in GetKeyState and in the trigger, but it doesn't work like the original.
Thanks in advance. :salute:

Code: Select all

; Click Anywhere on a Window to Drag and Reposition [Script Demo #23] - https://juho-lee.com/archive

SetWinDelay, -1
CoordMode, Mouse, Screen

Alt & LButton::
MouseGetPos, Mouse_Start_X, Mouse_Start_Y, Selected_Window
WinGet, Window_State, MinMax, ahk_id %Selected_Window%
if Window_State = 0
    SetTimer, MyLabel, 1
return

MyLabel:
MouseGetPos, Mouse_Current_X, Mouse_Current_Y
WinGetPos, Selected_Window_X, Selected_Window_Y, , , ahk_id %Selected_Window%
WinMove, ahk_id %Selected_Window%, , Selected_Window_X + Mouse_Current_X - Mouse_Start_X, Selected_Window_Y + Mouse_Current_Y - Mouse_Start_Y

Mouse_Start_X := Mouse_Current_X
Mouse_Start_Y := Mouse_Current_Y

GetKeyState, LButton_State, LButton, P
if LButton_State = U
{
    SetTimer, MyLabel, off
    return
}
return

User avatar
boiler
Posts: 16926
Joined: 21 Dec 2014, 02:44

Re: Move window from anywere

Post by boiler » 07 Aug 2022, 10:07

What did you actually change? Was it like this:

Code: Select all

; Click Anywhere on a Window to Drag and Reposition [Script Demo #23] - https://juho-lee.com/archive

SetWinDelay, -1
CoordMode, Mouse, Screen

F22::
MouseGetPos, Mouse_Start_X, Mouse_Start_Y, Selected_Window
WinGet, Window_State, MinMax, ahk_id %Selected_Window%
if Window_State = 0
    SetTimer, MyLabel, 1
return

MyLabel:
MouseGetPos, Mouse_Current_X, Mouse_Current_Y
WinGetPos, Selected_Window_X, Selected_Window_Y, , , ahk_id %Selected_Window%
WinMove, ahk_id %Selected_Window%, , Selected_Window_X + Mouse_Current_X - Mouse_Start_X, Selected_Window_Y + Mouse_Current_Y - Mouse_Start_Y

Mouse_Start_X := Mouse_Current_X
Mouse_Start_Y := Mouse_Current_Y

GetKeyState, LButton_State, F22, P
if LButton_State = U
{
    SetTimer, MyLabel, off
    return
}
return

User avatar
boiler
Posts: 16926
Joined: 21 Dec 2014, 02:44

Re: Move window from anywere  Topic is solved

Post by boiler » 07 Aug 2022, 10:11

The difference is probably the key repeat of a keyboard key. Try this version:

Code: Select all

; Click Anywhere on a Window to Drag and Reposition [Script Demo #23] - https://juho-lee.com/archive

SetWinDelay, -1
CoordMode, Mouse, Screen

F22::
MouseGetPos, Mouse_Start_X, Mouse_Start_Y, Selected_Window
WinGet, Window_State, MinMax, ahk_id %Selected_Window%
if Window_State = 0
    SetTimer, MyLabel, 1
KeyWait, F22
return

MyLabel:
MouseGetPos, Mouse_Current_X, Mouse_Current_Y
WinGetPos, Selected_Window_X, Selected_Window_Y, , , ahk_id %Selected_Window%
WinMove, ahk_id %Selected_Window%, , Selected_Window_X + Mouse_Current_X - Mouse_Start_X, Selected_Window_Y + Mouse_Current_Y - Mouse_Start_Y

Mouse_Start_X := Mouse_Current_X
Mouse_Start_Y := Mouse_Current_Y

GetKeyState, LButton_State, F22, P
if LButton_State = U
{
    SetTimer, MyLabel, off
    return
}
return

User avatar
Elermino
Posts: 114
Joined: 29 Nov 2021, 17:43

Re: Move window from anywere

Post by Elermino » 07 Aug 2022, 10:12

....
Last edited by Elermino on 07 Aug 2022, 10:18, edited 2 times in total.

User avatar
boiler
Posts: 16926
Joined: 21 Dec 2014, 02:44

Re: Move window from anywere

Post by boiler » 07 Aug 2022, 10:14

See my second post.

User avatar
Elermino
Posts: 114
Joined: 29 Nov 2021, 17:43

Re: Move window from anywere

Post by Elermino » 07 Aug 2022, 10:17

boiler wrote:
07 Aug 2022, 10:11
The difference is probably the key repeat of a keyboard key. Try this version:

Code: Select all

; Click Anywhere on a Window to Drag and Reposition [Script Demo #23] - https://juho-lee.com/archive

SetWinDelay, -1
CoordMode, Mouse, Screen

F22::
MouseGetPos, Mouse_Start_X, Mouse_Start_Y, Selected_Window
WinGet, Window_State, MinMax, ahk_id %Selected_Window%
if Window_State = 0
    SetTimer, MyLabel, 1
KeyWait, F22
return

MyLabel:
MouseGetPos, Mouse_Current_X, Mouse_Current_Y
WinGetPos, Selected_Window_X, Selected_Window_Y, , , ahk_id %Selected_Window%
WinMove, ahk_id %Selected_Window%, , Selected_Window_X + Mouse_Current_X - Mouse_Start_X, Selected_Window_Y + Mouse_Current_Y - Mouse_Start_Y

Mouse_Start_X := Mouse_Current_X
Mouse_Start_Y := Mouse_Current_Y

GetKeyState, LButton_State, F22, P
if LButton_State = U
{
    SetTimer, MyLabel, off
    return
}
return
It works now, thank you very much :clap:

Post Reply

Return to “Ask for Help (v1)”