2

Как этот вопрос:автоматизировать задачи графического интерфейса?

Я прошу способ автоматизации задач GUI. Я понимаю, что эти 2 приложения - то, что используется для такого рода вещей, но эти 2 приложения трудно использовать.

Хорошо, вот моя попытка сценария с использованием Autoscript Writer II:

Сначала я открываю приложение, затем открываю файл с помощью приложения. Я считаю, что эта часть открывает файл, а затем дважды щелкает по нему:

Нажатие на кнопку открытия

MouseClick, left,  63,  100
Sleep, 100
WinWait, Open, 
IfWinNotActive, Open, , WinActivate, Open, 
WinWaitActive, Open, 

Двойной щелчок для выбора файла:

MouseClick, left,  144,  111
MouseClick, left,  144,  111

Мне нужно для вышеуказанной части скрипта выбрать следующий файл для каждой итерации.

Тогда это делает вещи в приложении:

WinWait, App Unicode, 
IfWinNotActive, App Unicode, , WinActivate, App Unicode, 
WinWaitActive, App Unicode, 
MouseClick, left,  304,  459
Sleep, 100
MouseClick, left,  405,  467
Sleep, 100
MouseClick, left,  219,  133
Sleep, 100

И затем сохраняет это:

WinWait, Save As, 
IfWinNotActive, Save As, , WinActivate, Save As, 
WinWaitActive, Save As, 
MouseClick, left,  527,  366
Sleep, 100

Окно приложения открывается прямо в папку со всеми моими файлами в ней. Мне просто нужно открыть каждый файл по очереди с помощью autohotkey.

Спасибо!

3 ответа3

2

Не зная точно, что вы делаете, я не могу написать какой-либо сценарий для него, но предполагая, что это окно обозревателя, вы можете использовать цикл:

Loop %RepeatCount% {
    ...
}

и использовать некоторые математические, чтобы решить, когда идти вниз по ряду, и так далее.

Более того, см. Раздел «Loop (файлы и папки)» в файле readme. Похоже, вы сделаете .ahk внутри каталога, а затем сделаете что-то вроде

Loop *.fileWhatIsBoringToManipulate
{
Run p:\ath\to\executable [command line option to load file]
WinWaitActive, Manipulator
//mouseclicks and stuff
}

Последнее было бы намного лучше, но если ваше приложение не поддерживает ввод из командной строки, вам лучше было бы поместить файлы в список и использовать send {down} {return} вместо причудливого позиционирования.

1

Просто мысль, но после открытия диалога используйте математические расчеты, чтобы выяснить, сколько раз нажать клавишу «вниз» или что-то, чтобы выбрать следующий файл (вместо использования щелчков мышью). Таким образом, по крайней мере, прокрутка будет отсортирована автоматически. За исключением этого и очевидного параметра аргумента командной строки, я с eleven81 на самом деле перемещаю файл после того, как с ним закончим, поэтому следующий файл находится в том же месте, что и первый ...

1

Если проблема заключается в попытке выбрать следующий файл, возможно, было бы проще всегда выбрать первый файл в списке, воздействовать на него, а затем переместить его в другую папку. Тогда первый файл в папке будет тем, что был вторым файлом ранее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .