java.awt.Robot не двигает курсор в Photoshop

127
07 сентября 2019, 04:50

Нужно, чтобы java могла двигать курсор в photoshop. Java умеет двигать курсор и делает это нормально в остальных приложениях, но когда окно photoshop активно, то java ничего почему-то сделать не может. Курсор стоит на месте и сдвигается только от мышки. windows.h на c++ тоже не помог. Наверно нужно имитировать ввод, но как это сделать я не знаю. Готов использовать другой язык, если это необходимо... Photoshop SDK - не вариант.

Answer 1

Ваши косяки:

1) Вы используете кроссплатворменный ЯП для написания программы, работающей с WinAPI - не надо так, лучше воспользуетесь плюсами или delphi для этих целей

2) А вы уверены, что события мышки в photoshop совпадают с событиями в обычных приложениях (я вот не уверен, т.к. там несколько областей и панелей, которые как-то хитро связаны) Здесь вам поможет Spy++ (Messages) и его аналоги.

3)

This class is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed.

Как видим, даже создатели рекомендуют использовать только для тестов... Что логично, ведь программа может помимо стандартных, обрабатывать нестандартные сообщения. (You shoul use SendMessage)

-

Как бы я сделал:

1) Поискал бы другой способ решения проблемы (плагины для фотошопа или что-то другое), т.к. работать с формами из-под WinAPI - не надежно!

2) Если все же другого выхода нет - открыл бы Spy++ и изучил строение программы, ее Messages и логику. На основе полученной информации построил бы логические цепочки для нужных мне операций.

3) Выбор наиболее удобного ЯП.

4) Используя полученные цепочки реализовал бы взаимодействие на основе SendMessage

Answer 2

Разобрался. Т.к. все приложения, с которыми возникали проблемы, были запущены от имени администратора, то и приложение надо было запустить от имени администратора

READ ALSO
Как Игроку обратиться к Карте в игре?

Как Игроку обратиться к Карте в игре?

В игре отрисовка и логика столкновений должны работать за счет этой карты

113
Беспорядочное чтение нативных данных

Беспорядочное чтение нативных данных

Пишу класс, который будет считывать нажатые клавиши только при активном окне Хрома:

113
NonUniqueObjectException при сохранении или IllegalStateException: Error occurred while storing entity при мерже

NonUniqueObjectException при сохранении или IllegalStateException: Error occurred while storing entity при мерже

На работе большое энтерпрайз приложение на Java, если кратко ситуация такая, есть сущность ReportEdition в нём есть Report между ними связь

104
Фон блока в форме параллелограма

Фон блока в форме параллелограма

Нужно сделать фон в форме параллелограмма, как на этой картинке

113