Что нового

Перемещение окна - кликом мышки по любым координатам на экране.

mv6677

Новичок
Сообщения
105
Репутация
0
Доброго дня.

Подскажите пожалуйста - как кодом au3 сделать такое ?:

Вот есть допустим окно, которое на момент запуска выделено последним.
И скрипт работает так - вот он запускается, определяет какое окно было выделено последним.
И ждет клика мышкой.
И вот куда был клик мышкой - туда, в те координаты это окно и должно перенестись (не меняя своих размеров).
Затем скрипт прекращает свою работу.

Просто мониторы от одного компьютера - в разных комнатах стоят, и приходится бегать иногда из комнаты в комнату, чтобы окно программы перетаскивать на другой монитор.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
мониторы от одного компьютера - в разных комнатах стоят, и приходится бегать иногда из комнаты в комнату, чтобы окно программы перетаскивать на другой монитор
Зачем? Обычно при двух мониторах ставится спец. программа, например DisplayFusion, которая позволяет получать доступ к элементам с любого из мониторов.
 
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
DisplayFusion у меня стоит - там разные обои можно выставлять для разных рабочих столов.
Я вообще не об этом спрашивал.

Я спросил - как переместить активное на момент запуска скрипта окно - туда куда один раз я кликну мышкой ?
То есть туда, в те координаты клика мышки - это окно и должно перенестись (не меняя своих размеров).
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
На Win7 и выше сочетание клавиш "Win + Shift + стрелка влево или вправо" перемещает активное окно с одного монитора на другой.
 
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
InnI
Я знаю.
Если мониторов много - это сколько надо нажимать сочетания клавиш - чтобы выделенное окно дошло до нужного монитора.,
Это все сочетания клавиш (весьма неудобные кстати), а я спрашиваю про скрипт реагирующий на щелчок мыши.
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
окно, которое на момент запуска выделено последним
Что вы подразумеваете под запуском? Если запустить скрипт из проводника, то последним активным будет проводник, если с рабочего стола, то рабочий стол, если из SciTE, то окно SciTE.
куда был клик мышкой - туда, в те координаты это окно и должно перенестись
В координатах клика должен быть левый верхний угол окна или центр окна или что-то ещё? А если при переносе окно выйдет за пределы экрана? Например, при клике в самый низ монитора.
как кодом au3 сделать такое ?
Код:
_IsPressed()
MouseGetPos()
WinMove()
 
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
Что вы подразумеваете под запуском? Если запустить скрипт из проводника, то последним активным будет проводник ...
Запуск скрипта будет происходить не щелчком, а горячей клавишей, но это уже другая история.
Сейчас вопрос - просто как переместить окно - в координаты клика ?

В координатах клика должен быть левый верхний угол окна
Да, левый верхний угол.

А если при переносе окно выйдет за пределы экрана?
Да ничего страшного. Главное - окно будет перенесено.
Сообщение автоматически объединено:

Помогите.
 
Последнее редактирование:

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
  • Like
Реакции: Norm
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
На ваш вопрос уже ответили. Чем вам еще помочь?
Ну уж как-то очень непонятно ответили.

Я на форуме искал похожие темы - ничего не нашел.
Вот и пишу - может кто поможет.
Сообщение автоматически объединено:

Вот перемещение окна:
Код:
WinMove("[ACTIVE]","",100, 200)


Вот координаты мышки (которые кстати не по клику определяются):
Код:
$aPos = MouseGetPos()
MsgBox(4096, "Координаты курсора мыши:", 'X= ' & $aPos[0] & ", Y= " & $aPos[1])


А как это все воедино увязать , в соответствии с моим вопросом ?
 
Последнее редактирование:

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
А как это все воедино увязать
Последовательно, например:

С помощью _IsPressed ожидайте клик мыши (в справка есть пример)
После клика получите координаты мыши функцией MouseGetPos (в справка есть пример)
Переместите активное окно с помощью функции WinMove указав полученные координаты (в справка есть пример)
 
  • Like
Реакции: Norm
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
А !!!!
Все, догадался.
Действительно просто.

Всем спасибо за ответы в теме.
 
Верх