1

Тема: AHK: Разместить окна на рабочем столе

Подскажите как сделать вот такую штуку - запущенны например 3 окна и их по нажатию кнопки нужно разместить в определенных местах на рабочем столе и с заданным размером.

Смотрю в сторону ControlGetPos и WinTitle, не очень пока выходит.

2

Re: AHK: Разместить окна на рабочем столе

Смотрите в сторону WinMove.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Разместить окна на рабочем столе

teadrinker пишет:

Смотрите в сторону WinMove.

Спасибо, похоже то что надо, но я никак не могу получить заголовок окна, а именно он и нужен, чтоб определить какое окно куда двигать. Вот это выдает просто пустой Msgbox.

WinGetPos,,, Width, Height, WinTitle
Msgbox, %WinTitle%

Хочу вот этот заголовок получить и исходя из него уже двигать окна:
http://www.picshare.ru/uploads/160123/MjB1CYO7Oc.png

4

Re: AHK: Разместить окна на рабочем столе

ThrowSum пишет:

я никак не могу получить заголовок окна

В смысле? Вы же его видите: gettime1 — Блокнот. Если заголовок меняется, можно вместо него использовать класс окна — ahk_class Notepad. Читайте внимательно справку. Чтобы получить заголовок окна, есть команда WinGetTitle:

F11::
	WinGetTitle, title, A
	MsgBox, % title
	Return

Окно должно быть активным.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: ThrowSum, 2016-01-24 11:41:39)

Re: AHK: Разместить окна на рабочем столе

teadrinker пишет:

В смысле? Вы же его видите — gettime1 — Блокнот.

Я его вижу, но не могу получить WinTitle, выдает просто пустую строку в Msgbox, а должна быть gettime1 — Блокнот я так понимаю.

WinGetPos,,, Width, Height, WinTitle

Ну или вот второй пример их хелпа, тоже пустая строка, не понимаю в чем причина:
http://www.picshare.ru/uploads/160123/du3yT1A44J.png

Loop
{
    Sleep, 100
    MouseGetPos, , , WhichWindow, WhichControl
    ControlGetPos, x, y, w, h, %WhichControl%, ahk_id %WhichWindow%
    ToolTip, %WhichControl%`nX%X%`tY%Y%`nW%W%`tH%H%
}

Я что-то наверное упускаю.

6

Re: AHK: Разместить окна на рабочем столе

teadrinker пишет:

Окно должно быть активным.

Спасибо,  вот так работает. Но там будет 3 окна, посмотрю как это все использовать и переключаться между ними.

7

Re: AHK: Разместить окна на рабочем столе

Цитировать предыдущий пост не нужно.

но не могу получить WinTitle

Команда WinGetPos не предназначена для получения заголовка окна, наоборот он должен быть в неё подставлен, как и команда ControlGetPos не предназначена для получения каких-либо названий, а только координат, остальные параметры должны быть подставлены. Получить их можно с помощью Window Spy.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Разместить окна на рабочем столе

запущенны например 3 окна и их по нажатию кнопки нужно разместить в определенных местах на рабочем столе

Не совсем понятно, размещение окна должно зависеть от его названия, или нет?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9 (изменено: ThrowSum, 2016-01-24 12:07:10)

Re: AHK: Разместить окна на рабочем столе

teadrinker пишет:

Не совсем понятно, размещение окна должно зависеть от его названия, или нет?

Должны быть 3 окна, например 3 окошка блокнота Безымянный1 — Блокнот, 2 и 3. Ну и расположить их в соответствии с названием. Вот так это задача в принципе решается:

WinMove, Безымянный — Блокнот, , 10, 10, 200, 500

Был еще один вопрос, но похоже уже разобрался.