1 (изменено: seriousstas, 2015-05-26 06:17:39)

Тема: AHK: Ожидание клика по области перед командой

Скрипт (мой из первых) посылает клавишу "TAB" с фокусом ,
открывает менеджер плейлистов плеера Foobar2000 (все сделано под тач, палец) , затем через 11 секунд закрывается (и автоматом закрывает менеджер).
Если найдено контекстное меню  - ждёт сколько нужно и закрывается .
Если закрыть его крестиком (вверху справа на картинке,прикрепил) ранее 11 секунд , то менеджер естественно снова откроется .
Как этого избежать ?

То-есть нужно прекратить принудительно работу скрипта при клике (скорее даже тапнуть пальцем) по области этого
крестика .
Например , посте первого "TAB" - открывается менеджер  проходит 5 секунд , жмакаю по крестику - закрывается
менеджер и одновременно  закрывается скрипт .
Прошу помощи с этим.
То , что я уже сочинил :

#NoTrayIcon
#SingleInstance ignore
ControlFocus, uie_wsh_panel_mod_class7, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Send {TAB}
WinWait, ahk_class #32770,B:\Playlist , 11
WinWaitClose
WinWait, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
WinActivate
Send {TAB}
ExitApp

При наведении на крестик меняется цвет на красный :
Text:

Color:    FF0000 (Red=FF Green=00 Blue=00)
    x: 0    y: 0    w: 1120    h: 558
Client:    x: 0    y: 0    w: 1120    h: 558

и позиция в центре крестика :

Absolute:    1669, 190 (less often used)
Relative:    1073, 32 (default)
Client:    1073, 32 (recommended)

Фото прикрепил :

2 (изменено: seriousstas, 2015-05-26 05:01:38)

Re: AHK: Ожидание клика по области перед командой

Попутно задам ещё вопрос :
Можно-ли сделать , что-б при запуске скрипта повторно ,
выполнялся только второй "TAB" , тоесть была возможноть не только открывать ,
но и закрывать плейлист кнопкой ?
Представляю это так :
Запускаю скрипт повторно идёт проверка на наличие себе подобного , и если есть - выполняется только :

WinWait, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
WinActivate
Send {TAB}

Зоранее благодарность и +

3 (изменено: seriousstas, 2015-05-26 17:51:30)

Re: AHK: Ожидание клика по области перед командой

Сегодня Мненджер плейлистов умеет отображать состояния
в виде созданного файла :
менеджер открыт=>  файл plmanager_1

менеджер закрыт=>  файл plmanager_0
в какой-то папке
Может можно сделать через проверку наличия такого файла ?

4

Re: AHK: Ожидание клика по области перед командой

Может ,кто подскажет новичку  ?

5

Re: AHK: Ожидание клика по области перед командой

seriousstas, у меня тоже есть Foobar2000, но в моей версии всё выглядит по-другому, совсем другие названия классов окон и другие результаты посыла клавиш, поэтому мало что понятно. Я бы вам советовал как-то изменить свои вопросы на более общие, которые можно было бы проверить на любом другом окне, а затем уже полученные ответы применить конкретно для ваших нужд.

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

6 (изменено: seriousstas, 2015-05-27 16:59:27)

Re: AHK: Ожидание клика по области перед командой

teadrinker

 совсем другие названия классов окон 

У меня внутри этот плейлист :
http://br3tt.deviantart.com/art/JSBrows … -525146782
Попробуйте в Columns ui поднят или опустить его   - classNN изменится
Сборку выложил здесь :
http://pccar.ru/showthread.php?p=328879#post328879
Подгоняли для CarPC ...
Третяя справа (во втором ряду в открытом тулбаре) кнопка откроет плейлист менеджер .
Попробуйте зарыть его крестиком - он откроется снова ...

Через контрольный plmanager_1(0) вроде работает ,
но делал методом тыка :

#NoTrayIcon
#SingleInstance force
IfExist, x:\__FOOBAR__\4Icar_10_JS_WiTE\foobar2000\settings\plmanager_0
        {

ControlFocus, uie_wsh_panel_mod_class7, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Send {TAB}
Sleep, 1000
        }
IfExist, x:\__FOOBAR__\4Icar_10_JS_WiTE\foobar2000\settings\plmanager_1
        {
WinWait, Rename playlist,, 10 
WinWaitClose
Sleep 1000
WinWait, Load Playlist:,, 5
WinWaitClose
        }
IfNotExist, x:\__FOOBAR__\4Icar_10_JS_WiTE\foobar2000\settings\plmanager_0
        {
WinWait, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
WinActivate
ControlFocus, uie_wsh_panel_mod_class7, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Send {TAB}
         }
Else
ExitApp

teadrinker
Не подскажите, как сделать, чтоб  IfExist находил папку foobar2000 ?
тесть был унивесальным

7

Re: AHK: Ожидание клика по области перед командой

Кажись понял, можно сложить скрипты в папку settings и использовать %A_WorkingDir% ...

8

Re: AHK: Ожидание клика по области перед командой

seriousstas, во-первых, обратите внимание на оформление ссылок, во-вторых, нет, мне не хотелось бы что-то менять в привычном интерфейсе программы ради одного ответа.

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

9

Re: AHK: Ожидание клика по области перед командой

мне не хотелось бы что-то менять в привычном интерфейсе

Зря, Фубар это интересный (Сделай Сам) конструктор