AutoHotkey не может распознать изображение при изменении разрешения

Я создал сценарии autohotkey, которые автоматизируют ручной процесс, запустив приложение и щелкнув по значку упомянутого сценария. Сценарий работает нормально на одном компьютере, который имеет более высокое разрешение, но не может выполняться на другом компьютере с другим разрешением. Есть ли у вас какие-либо предложения для тренировки другим способом. Это приложение не имеет сочетаний клавиш и выполняется только при щелчках мышью. Я надеюсь, что будет ответ.

3 ответа

Решение

::: Объяснение проблемы::: Пожалуйста, прочитайте, чтобы понять проблему.

Начнем с того, что вы просто создаете скрипт autohotkey на COMPUTER_A, вы печатаете_экран / захватываете все свои изображения и изменяете их размер на COMPUTER_A, однако, когда вы переносите свои файлы в COMPUTER_B, image_search также не находит совпадений или вообще, почему это так?

Ну, COMPUTER_A и COMPUTER_B - это два совершенно разных компьютера, проблема возникает из-за того, что на двух разных компьютерах установлены разные ЦВЕТНЫЕ ШАБЛОНЫ, если вы копируете цветной шаблон из COMPUTER_A на COMPUTER_B или на любой компьютер. Общая проблема заключается в том, что разные цветовые шаблоны не позволяют image_search находить совпадение попиксельно, вызывая различную разницу между двумя разными компьютерами. Вот почему лучше всего скопировать цветной шаблон с компьютера_А на другой компьютер, чтобы обеспечить правильную работу поиска изображений.

::: Поиск шаблона цвета:::

В Win7 -> Панель управления -> Управление цветом -> Мой было легко найти, потому что это цветной шаблон, который был в комплекте с монитором моего компьютера, однако ваш поиск может занять немного больше времени. Профили ICC - это, как правило, принтеры, профили ICM - драйверы дисплея / цветовые шаблоны для экрана вашего компьютера. Как только вы найдете свой профиль отображения, который в данный момент используется на компьютере COMPUTER_A, найдите его в хранилище своего компьютера и скопируйте его в нужное вам место для автоматического выбора, чтобы в будущем его можно было легко скопировать, чтобы впоследствии можно было скопировать его с помощью сценария автоматического выбора на компьютер computer_B или computer_Z. Щелкните правой кнопкой мыши на ICM, скопированном на computer_B, и нажмите "Установить". Возможно, вам потребуется перезагрузить компьютер, чтобы изменения вступили в силу.

::: Результаты:::

После того, как цветовой шаблон с компьютера _A установлен на другом компьютере, image_search должен работать точно так же, как и на компьютере_A, я лично проверил результаты на 6 разных компьютерах из XP, Vista и Win7, всегда имел 100% -ный успех, который, как я считаю, делает это универсальное решение / решение проблемы image_search с другими компьютерами.

Я предупреждаю тех немногих людей, которые испытывают трудности с этим, чтобы набраться терпения, и делите ли вы большую долю исследований "цветовых профилей Windows", чтобы заставить это решение работать на вас, я просто предвижу, что кто-то случайно обнаружит / скопирует неправильный профиль ICM/ICC. Также следует предупредить, что если кто-то устанавливает программное обеспечение для фотографий / программное обеспечение для разработки, такое как Adobe Photoshop/ Multimedia/ Development Software, иногда они приходят со своими собственными профилями ICM/ICC и могут перезаписать существующие, вызывая повторное появление image_search. Просто переустановите профиль ICC/ICM по умолчанию снова, чтобы решить эту проблему.

::: ЗАКЛЮЧЕНИЕ:::

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

В большинстве приложений есть Alt Shortcuts, пробовали ли вы их? также вы можете попытаться повторно отрегулировать щелчок мышью по x,y согласно resoulution

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

Hotkey, LButton, off ; Make sure that the Left Mouse button inactivator is turned Off

Lbutton:: ; Disable the Left Mouse Button

SplashImage , %A_ScriptDir%/Images/YourScreenShot.jpg,,, Screen shot, Icons     ;   Show Screenshot of what the user needs to do
SoundBeep 1000, 300 ; wake up user


SplashTextOn, 200, 100, Script Preparations, Please Click on Icon1. ; Show new instructions to the user
WinMove, Script Preparations,, (A_ScreenWidth/2)-150, (A_ScreenHeight/2)-200 ; Move the text instructions window with the name "Script Preparations" 150 pixels right of the center of the screen and 200 pixels up
SoundBeep 600, 300 ; Wake up user
; Here the left mouse button will temporarily be disabled (to prevent actions)
Hotkey, LButton, on ; Turn Left Mouse Button OFF, to capture the Mouse click
KeyWait, LButton, D ; Wait for LeftMouseButton click Down
MouseGetPos, xpos1 ,ypos1 ; Store the position where the mouse was clicked (Icon1)

Повторите это для всех используемых значков.

Тогда, если вы хотите нажать на icon1, используйте:

MouseClick, left, %xpos1% ,%ypos1% ; Perform the mouse click on the captured mouse location
Другие вопросы по тегам