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