Но хотелось бы увидеть, как бы это по другому можно написать, есть меню которое появляется каждый раз по другим координатам. из за этого нужно его все время определять. В меню как видно из скрипта есть кнопочки, которые нужно нажимать, по необходимости, и вот мне, интересно как бы вы это сделали?)
Если этот вопрос ко мне, то я бы так и сделал, как написал выше. Во первых, нужно найти опорную точку на этом меню. Которую можно быстро найти и от координат которой будут вычисляться координаты кнопок. Только непонятно в какой момент меню меняет свое местоположение. И надо ли его искать каждый раз перед очередным нажатием кнопок. Может быть достаточно будет найти его один раз, за всё время работы скрипта, и хранить его координаты в переменных? А в остальном всё тоже самое - запускаем подпрограмму типа Открыть("параметр"), которая пересчитает координаты для каждой кнопки и сделает клик, если нужно.
Ну а насчет того, чтобы написать по другому, то это можно. Можно например объединить две подпрограммы в одну. Можно отслеживать местоположение меню в отдельном потоке, через определенные интервалы времени. Можно использовать для хранения координат переменные, массив, строку, или файл. Если это весь скрипт, а не отдельный его кусок, то подпрограммы вообще можно выкинуть. И так далее...
И еще, я бы:
- кнопки вообще не искал, а назначил бы для них горячие клавиши;
- постарался зафиксировать меню;
- отказался от COLORMODE...
Если конечно всё это возможно. В общем, сначала максимально подготовил бы программу, с которой должен работать скрипт.
Короче, по месту смотреть надо, т.к. сейчас, лично у меня, вопросов больше, чем ответов. ))