Author Topic: Делаем вспомогательную утилиту к редактору  (Read 6719 times)

0 Members and 1 Guest are viewing this topic.

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Выкладу тут сразу линк на утилиту Винта: http://crapware.aidf.org/forum/index.php?topic=356.msg9428#msg9428 (см. там всю длинную тему, апд 220817)


Почему и хочется придумать некий визуальный настройщик для быстрой установки/правки/отображения всех границ областей ифпикинов/ сканпикселей/ и т. д. из текущего скрипта.
Такую штуку реально ли ваще замутить на том же АвтоИте или мож в каком другом средстве типа виртуальной линейки? Просто хотелось бы элементарно получить наводку на любое софтовое средство, позволяющее рисовать тонкие горизонтальные/ вертикальные линии ПОВЕРХ окон, желательно по заданным координатам/толщине штриха.
Так я тебе предлагал сделать. Но нужна конкретика. Нужно разработать конкретные функции и выбрать/нарисовать интерфейс, чтобы было возможно пользоваться больше одного раза.
А просто виртуального желания "замутить что нибудь этакое, чтобы ого-го!" недостаточно.

Упс, видимо, я пропустил это предложение. Но.. Это как? Я предлагаю всю логику, а ты всё пишешь на аушке? М-м, это было б волшебненько.
Ну если я всё правильно понял, то приступим к ТЗ. Только вопрос: а что ты, на АУ можешь вааще любые функции реализовать и всё-всё сделаешь из того, что я напишу?  ::)

Ну начнём с начала, по подобию той программки, которую недавно видел в одной темке, которая написана Орейвеном в ау и позволяет обрабатывать текст из буфера и возвращает обработанный результат в буфер же. Итак, программа висит в трее и обладает следующим контекстным меню, которое открывается и правым, и левым кликом, и хоткеем:
[spoiler=Менюшка утилиты в трее]

Пункт_меню_утилиты_BorderSetter.exe_____ >>> Действие при клике
Обработать буфер



Читает текст из буфера и ищет в нём операторы, поддерживающие указание границ области (внутри которой выполняется данная операция) (поддерживаемые функции: GETSCREEN/ PXLCOUNT+XOR+ CRC+REPLACE/ IF_PIXEL_IN/ IF_PICTURE_IN/ SCANPICTURE/ SCANPXL/ SCREENSHOTEX/ SCREENSHOTFIX/ COLORMODE/ WNDPOS+SIZE +GETINFO+SETINFO

). Та же самая функция (Обработать буфер) может быть вызвана через хоткей, настраиваемый через диалоговое окно "Настройки"
Прорисовать/спрятать границы



Пункт работает как триггер (то есть галочка возле него снимается/устанавливается, отображая его состояние: вкл/выкл). Показывает/прячет все рамки aka границы областей операторов (всех типов, указанных в подменю Настройки/Области), найденных в буфере по предыдущей команде. Имеет свой хоткей, задаваемый в настройках.
Создать область



Сперва всплывает окно с дроплистом доступных функций (GETSCREEN/ PXLCOUNT+XOR+ CRC+REPLACE/ IF_PIXEL_IN/ IF_PICTURE_IN/ SCANPICTURE/ SCANPXL/ SCREENSHOTEX/ SCREENSHOTFIX/ COLORMODE/ WNDPOS+SIZE +GETINFO+SETINFO). После выбора пользователем конкретного типа функции появляются рамка, с возможностью настройки её местоположения/размера за счёт перетаскивания 8 маркеров (4 маркера на углах + 4 на серединах граней) и с возможностью в конце настройки вставить полученный код в буфер по нажатию кнопки на тулбаре (подробнее рамки и их тулбары будут описаны ниже). Имеет свой хоткей, задаваемый в настройках.
Отключить звук



Пункт работает как триггер. Позволяет включать/отключать звуковой сигнал при завершении обработки буфера обмена (можно и не делать эту функцию, если утилита будет обрабатывать достаточно быстро, в течение пары секунд или меньше)
Отключить оповещение



Пункт работает как триггер. Позволяет включать/отключать текстовое сообщение в трее при завершении обработки буфера обмена (можно и не делать эту функцию, если утилита будет обрабатывать достаточно быстро)
Настройки...



Отображает диалоговое окно с несколькими вкладками, которые вместе с их пунктами описаны ниже. Имеет свой хоткей, задаваемый в настройках.
Области > ...



Представляет из себя подменю, все подпункты которого являются триггерами и представляют собой перечень поддерживаемых функций, которые в случае их включения обрабатываются в буфере (и наоборот, не обрабатываются при отключении). При выборе подпункта тот включает/исключает выбранную функцию из списка отображаемых рамок, найденных первым пунктом меню в буфере.
Подпункты (все функции с областями): GETSCREEN/ PXLCOUNT+XOR+ CRC+REPLACE/ IF_PIXEL_IN/ IF_PICTURE_IN/ SCANPICTURE/ SCANPXL/ SCREENSHOTEX/ SCREENSHOTFIX/ COLORMODE/ WNDPOS+SIZE +GETINFO+SETINFO
---(разделитель)



Предложить функционал



Переходит на этот форум, прямо в тему для утилиты
Ну, Закрыть



Какгбэ закрывает приложение
[/spoiler]

При вызове пункта меню "Настройки" появляется следующее окно:
[spoiler=Диалоговое окно Настройки]

Вкладки__________________
>>> Функции

Хоткеи (с возможностью изменения и индикации занятости хоткея)Хоткей для команды Обработать буфер (дефолт: ctrl-b, от buffer)
Хоткей для команды Прорисовать/спрятать границы (дефолт: ctrl-h, от hide)
Хоткей для команды Создать область (дефолт: ctrl-m, от make)
Хоткей для команды Настройки... (дефолт: ctrl-p, от presets)
Хоткей для команды Следующая рамка (дефолт: ctrl-n, от next)
Хоткей для команды Предыдущая рамка (дефолт: ctrl-i, от prev-i-ous)
Хоткей для команды Копировать рамку (дефолт: ctrl-c, от copy)
Хоткей для команды Копировать все рамки (вместе с исходным кодом из буфера) (дефолт: ctrl-a, от all)
Хоткей для открытия всплывающего Меню (того же самого, которое открывается при клике по иконке в трее) (дефолт: ctrl-t, от tray)

РамкиТолщина рамок (дефолт: 1 пикс)
Цвет рамок (дефолт: синий, по сути цвет маркеров)
Цвет активной рамки (дефолт: жёлтый)
Типа штриха (дефолт: ч/б-пунктир)
Максимальное количество рамок на экран (дефолт: 20 рамок, от 1 до 100)
Предпочитаемый тип рамки при создании (дефолт: ифпикин)

О программеАвтозапуск (галочка-триггер)
Версия утилиты
Версия АвтоИт
Год/дата выпуска
Ссылка на топик с обсуждением
Кнопки управления рамками
(Стрелки перемещают рамку, Шифт+стрелки изменяют размер, Ктрл+стрелки меняют активную рамку)


[/spoiler]

А теперь напоследок пару слов про рамки с тулбаром (визуальные границы областей действия выбранных функций):
[spoiler=Рамки с тулбаром-заголовком]
Рамки представляют из себя набор прямоугольников, обозначивающих области действия всех функций скрипта, содержащегося в буфере обмена. Таким образом, в буфер можно копировать как весь скрипт (тогда отобразятся все раки скрипта), так и единственную строку с функцией, границы действия которой (координаты x1,y1, x2,y2) надо настроить. Переход между рамками осуществляется хоткеями либо кликом по тулбару/маркерам. Каждая рамка имеет 4 угловых и 4 медианных (расположены на половинах рёбер прямоугольника рамки) маркера, которые позволяют менять место/размер рамки. Маркеры имеют однопиксельную окантовку другого, контрастного цвета (допустим, белого) и сами обладают размером 10 пикселей, по дефолту маркеры активной рамки имеют жёлтый цвет, у НЕактивной синий цвет, выделенный щелчком маркер мелькает и тем самым показывает своё выделение и то, что его можно перемещать с помощью Альт+стрелок, и в координаты активного маркера можно вставить переменные $_xmax/$_ymax нажатием соответствующих кнопок на тулбаре (если маркер не выделен, то нажатие вставляет выбранную переменную в соответствующие координаты второго крайнего маркера x2/y2). Дефолтная толщина линий прямоугольника рамки составляет 1 пискель, линия представляет собой чёрно-белый (либо по возможности чёрно-прозрачный) пунктир, который заключает в себе область функции, но при этом окаймляет её, а не пересекается с ней. Также каждая рамка обладает своим тулбаром-заголовком, за который можно  мышкой перетаскивать рамку. В заголовке отображается имя области (например, для функции IF_PICTURE_IN (0,0, $_xmax,$_ymax, "image.bmp") заголовком будет "IF_PICTURE_IN image.bmp", также рядом пишется порядковый номер функции (среди всех функций), размер области, например: 120х80, и её координаты для левой верхней и правой нижней двух крайних точек), на тулбаре имеются кнопки, относящиеся к текущей рамке (Вставить $_xmax, Вставить $_ymax, Копировать рамку, Копировать всё (все рамки в буфер), уникальные параметры отдельных функций). Тулбар по умолчанию находится выше рамки, но в случае если он не умещается там ввиду нахождения рамки вверху страницы, то тулбар размещается ПОД рамкой, координаты двух крайних точек находятся соответственно слева сверху и справа снизу вне рамки (если место позволяет) и внутри рамки (если рамка находится возле края монитора и не вмещает надпись). Тулбар для каждой отдельной функции имеет персональный список дополнительных кнопок для ввода уникальных параметров этих самых функций (например, для функции IF_PICTURE_IN должна быть отдельная кнопка на тулбаре для ввода "image.bmp", а для SCREENSHOTFIX -- кнопка для ввода "bmp/jpeg").
Стрелки перемещают активную рамку, Шифт+стрелки изменяют её размер, Ктрл+стрелки меняют активную рамку (переключают фокус на другую рамку). [/spoiler]

Есть конечно ещё пару идей по улучшению, но оставим пожалуй их на потом, до второй редакции. Их есть у меня!  8)
« Last Edit: August 22, 2017, 02:04:15 PM by Cleoss »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
а что ты, на АУ можешь вааще любые функции реализовать и всё-всё сделаешь из того, что я напишу
Нет конечно. Нужно обсуждать. Если возможно, искать замену.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Я думал это мы с тобой обсуждали, уж больно похоже. Нет? Не твоя реинкарнация?
http://crapware.aidf.org/forum/index.php?topic=2603.0


Меню в трее?...
Я думал это будет мини окошко с кнопочками. С выводом координат расстояний и заданных смещений...

Окно с изменяемой прозрачностью и в нескольких размерах:
обычный (не большой) и компактный (без инфы по координатам и цветам).

Помимо задания границ хотелось бы добавлять позже туда и другие плюшки пришедшие в голову.

Меню в трее никто не отменял, оно тоже имеет место быть.

с возможностью настройки её местоположения/размера за счёт перетаскивания 8 маркеров (4 маркера на углах + 4 на серединах граней)
Может как нибудь проще? А то выйдет не очень юзабельно, на каждую область куча настроек.
И главное тяжело будет управлять маркерами рядом расположенных областей, попробуй попади в нужный. Это же не фотошоп, что можно масштаб увеличить.
Может за основу взять что попроще? Вот как во вложении этого поста
http://crapware.aidf.org/forum/index.php?topic=2603.msg16412#msg16412

и чуть доработать напильником. Зато задавать можно быстро. Если что отмена и новую.
Ещё + в этом, что всё делается мышью и одним действием. Не нужно задавать, потом жать кнопку чтобы принять.
Хотя... маркеры на углах лишними не будут...
Обсуждаем и выбираем как лучше.

Сперва всплывает окно с дроплистом доступных функций (GETSCREEN/ PXLCOUNT+XOR+ CRC+REPLACE/ IF_PIXEL_IN/ IF_PICTURE_IN/ SCANPICTURE/ SCANPXL/ SCREENSHOTEX/ SCREENSHOTFIX/ COLORMODE/ WNDPOS+SIZE +GETINFO+SETINFO)
...
 и с возможностью в конце настройки вставить полученный код в буфер по нажатию кнопки на тулбаре
И нафейхуа такие сложности? Мы ведь и так работаем в редакторе. Зачем большое меню с разными функциями которое дублирует редактор и в которых неудобно ориентироваться без структуры?
Я это видел себе как задание области с получением на выходе 4-х координат в буфер и в инфо окно утилиты.
Получаем x1, y1, x2, y2 которые вставляем в любую функцию кода. Так удобней и редактировать /изменять уже существующий код.
А так во многих функциях есть и другие параметры которые не хотелось бы нарушать: прозрачность, %, имя массива, имя файла...

Тем более это задание области и функции WNDPOS, WNDSIZE, WNDGETINFO, WNDSETINFO сюда не подходят.
Ну можно для WNDSETINFO сделать отдельно... потом... если захочешь если нужно будет.



Посмотреть кандидатов на добавление из старого предложения
http://crapware.aidf.org/forum/index.php?topic=356.msg9091#msg9091
п. 11 - п. 13

п.14 уже реализовано в отдельной утилите. Можно подправить и тоже встроить сюда. Только переделать на поиск без участия к Clickermann.
Но придётся следить за актуальностью чтобы всё соответствовало текущей версии кликера.

далi буде...
« Last Edit: November 24, 2016, 06:33:41 PM by Vint »


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
ПС. Сразу прошу прощения у читающих за обширный оверквот, сохранял его для поддержания исходной мысли.

Я думал это мы с тобой обсуждали, уж больно похоже. Нет? Не твоя реинкарнация?
http://crapware.aidf.org/forum/index.php?topic=2603.0
Не, туфля не моя. Но в первую неделю нахождения тут на форуме я прочитал много тем, вкратце я прочитал и ту тему, оттуда же я и взял идею для утилитки. Но правда сейчас я уже и забыл, что та тема существовала и что идея пришла оттуда. У меня есть скриншотилка LightShot и оттуда я почерпнул идейку с тулбаром и рамкой (а также маркеры, система хоткеев, шифт для изменения области выделения). Вот как ЛайтШот в оригинале сморится:
[spoiler][/spoiler]

Меню в трее?...
Я думал это будет мини окошко с кнопочками. С выводом координат расстояний и заданных смещений...

Окно с изменяемой прозрачностью и в нескольких размерах:
обычный (не большой) и компактный (без инфы по координатам и цветам).

Помимо задания границ хотелось бы добавлять позже туда и другие плюшки пришедшие в голову.

Меню в трее никто не отменял, оно тоже имеет место быть.
По правде сказать, ифпикин это самая популярная функция у меня, я когда впервые зашёл в редактор кликера, просто обалдел, что прога имеет столько команда и даже умеет работать с экраном (распознавать сравнивая и реагировать, иметь циклы). Но это я чёт отвлёкся.

Не знаю, как там точно хотел бы реализации автор той исходной темы (он кстати не отписался, понравились ли ему сет_коорды и удовлетворили ли они его потребности и в какой мере), но я честно говоря попробовал твой утилитку сет_коордс (я даже кажется скачивал её раньше, но вот не пробовал) и она мне оч понравилась. Единственно, с ней у меня две траблы. Во-первых, как я уже писал, у меня траблы с мышкой и она чудит у меня не понятно что, может (когда делаешь клик) сделать сразу два клика, а когда начинаешь выделять или перемещать окно то это ваще беда (окно не тащится, но может закрыться либо нажаться другая кнопка по пути прохождения мыши, иногда нужно 10 раз раз попробовать, чтоб получилось перетащить, редко нужно меньше 3-4 попыток  ??? цена же на нормальную мышку кусается, в пределах 1-2 тыров, почти как зарплата, а я блин уже пару лет без работы сижу), как следствие программа у меня запустилась, но как только я начал выделять, выделение сразу же исчезло. Пришлось скачивать прогу ещё раз  (потому что Хром закрыл список даунлодов, как только я открыл прогу) и её "Открыть в папке" (и я не нашёл проги в трее). То есть "проблема" утилиты в том, что она не сидит в памяти и каждый раз её нужно запускать повторно, вторая проблема отсюда же: если выделил что-то не точно (а у меня с мышкой это случается постоянно) то, не получится это (без маркеров) тот час же изменить (но я в принципе и не считаю эти две последние траблы столь серьёзными, а вполне допускаю и пользование сет_коордами, только в них нельзя быро вставить $_xmax/ymax, но в примере с лайтШотом мне действительно намного удобнее пользоваться стрелками с клавы, чем по многу раз париться с моей каличной мышкой). Вообще-то самая приоритетная задумка в моём ТЗ были маркеры (возможность подызменить размеры области несколько раз по вкусу, то чего сет_коорды не могут), на втором месте шло управление перетаскиванием области/её размеров с клавиатуры (остальные функции для меня менее существенны), но понятно что у другого пользователя приоритеты могут быть совершенно иными, и для них мои пожелания могут оказаться совсем неактуальными.

с возможностью настройки её местоположения/размера за счёт перетаскивания 8 маркеров (4 маркера на углах + 4 на серединах граней)
Может как нибудь проще? А то выйдет не очень юзабельно, на каждую область куча настроек.
И главное тяжело будет управлять маркерами рядом расположенных областей, попробуй попади в нужный. Это же не фотошоп, что можно масштаб увеличить.
Может за основу взять что попроще? Вот как во вложении этого поста
http://crapware.aidf.org/forum/index.php?topic=2603.msg16412#msg16412
и чуть доработать напильником. Зато задавать можно быстро. Если что отмена и новую.
Ещё + в этом, что всё делается мышью и одним действием. Не нужно задавать, потом жать кнопку чтобы принять.
Хотя... маркеры на углах лишними не будут...
Обсуждаем и выбираем как лучше.
К сет_коордам можно добавить, чтоб они сидели резидентно и ждали нажатия хоткея для повторного использования, это б не плохо улучшило её юзабилити. Можно также сделать, чтоб после выделения области (после отжатия кнопки мыши) в сет-коордах выделение не исчезало сразу, а его б ещё можно было б дополнительно доподправить с помощью клавовых стрелок, а уже после нажатия энтера бы происходила отдача координат в буфер. А если всё же дойдёт дело до реализации заветных маркеров, то можно вместо 8 обойтись двумя крайними (по которым собсна и задаются четыре цифры координат). Просто тогда возникает вопрос, как отличать одну область от другой, если не будет заголовка с названием искомой картинки (в таком случае нужно обрабатывать по одной как в сет_коордах, а не сразу многих как у меня задумывалось в ТЗ). Вопрос ещё и в том, какую информацию мы хотим (читай: какую нужно) иметь в этом окошке и в какой форме, но мне кажется, что если в окне будет поля для текстового ввода, то смысла в них не много (то же самое мы можем сделать и в редакторе, да и откуда человек должен знать эти циферки?!).

Сперва всплывает окно с дроплистом доступных функций (GETSCREEN/ PXLCOUNT+XOR+ CRC+REPLACE/ IF_PIXEL_IN/ IF_PICTURE_IN/ SCANPICTURE/ SCANPXL/ SCREENSHOTEX/ SCREENSHOTFIX/ COLORMODE/ WNDPOS+SIZE +GETINFO+SETINFO)
...
 и с возможностью в конце настройки вставить полученный код в буфер по нажатию кнопки на тулбаре
И нафейхуа такие сложности? Мы ведь и так работаем в редакторе. Зачем большое меню с разными функциями которое дублирует редактор и в которых неудобно ориентироваться без структуры?
Я это видел себе как задание области с получением на выходе 4-х координат в буфер и в инфо окно утилиты.
Получаем x1, y1, x2, y2 которые вставляем в любую функцию кода. Так удобней и редактировать /изменять уже существующий код.
А так во многих функциях есть и другие параметры которые не хотелось бы нарушать: прозрачность, %, имя массива, имя файла...

Тем более это задание области и функции WNDPOS, WNDSIZE, WNDGETINFO, WNDSETINFO сюда не подходят.
Ну можно для WNDSETINFO сделать отдельно... потом... если захочешь если нужно будет.
Просто я собрал все функции, в которых есть область, но все они мне ясно не нужны, повторюсь мне больше всего нужна ифпикин. Но задумывалось это для других пользователей и их удобства, а также так, чтоб чел мог выбрать нужную ему в текущий момент функцию, сразу быстро ввести координаты области мышкой и при необходимости сразу же ввести дополнительные параметры функции. Я же не могу, Винт, требовать от тебя чего-то и тем более не знаю, что из этого легко достижимо, а что невозможно, я просто описал желаемый функционал и расставил свои приоритеты. А так решай сам) Мне в принципе оно не горит, мож людям было б удобно.
А по поводу "мы ведь и так работаем в редакторе" -- кто это мы и сколько нас?  :) Ты редактором не пользуешься, я тоже (к сожалению, не смотря на все его вкусные плюхи вроде линзы с кмодом и автоиндента, быстрой вставки координат). Только блокнот, только хардкор! А мне вот в блокноте бывает не так легко вспомнить, как именно пишется некая редкая команда, и тем более реально пропустить по ошибке/недосмотру либо поменять аргументы местами опять же ошибочно, тч дроплист имхо был бы не лишним (как замена менюшке доступных команд в редакторе). Или ты сделал в саблайме/нп++ себе автоподсказчик синтаксиса и ключевых слов?

Посмотреть кандидатов на добавление из старого предложения
http://crapware.aidf.org/forum/index.php?topic=356.msg9091#msg9091
п. 11 - п. 13

п.14 уже реализовано в отдельной утилите. Можно подправить и тоже встроить сюда. Только переделать на поиск без участия к Clickermann.
Но придётся следить за актуальностью чтобы всё соответствовало текущей версии кликера.
Да, есть много там достойных идей, которые досель не реализованы. А где её можно найти, эту утилиту из п. 14? она уже есть на форуме?
Думаю, зачем изобретать велосипед, если уже коордс.ехе есть, туда б хоткеи и стрелки и было б круто.
А по сути что требовалось от утилиты в отношении WNDPOS, так это просто вернуть координаты выделения (что уже умеют коорды.ехе) прямо вовнутрь строки с функцией, примерно то же самое по минимуму требуется и от остальных 16-ти функций.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
А где её можно найти, эту утилиту из п. 14? она уже есть на форуме?
Там ниже в сообщениях ссылка
http://crapware.aidf.org/forum/index.php?topic=356.msg9428#msg9428

WNDPOS не принимает область заданную двумя парами координат.
И это настолько редкая команда, по крайней мере для меня, что я её и не рассматриваю.
сеткоорд сделал специально одноразовой, чтобы не подтверждать выбор или не назначать зоткей. Лежит у меня внизу на панели быстрого запуска, стартует по клику и отработав нигде не висит. Это и есть ускорение.
И пишу я 'о боже!' в редакторе встроенном. Шаблоны и команды мне нужны и автоотступ.
Иногда открываю в ++ параллельно но в основном когда нужен нормальный поиск или подсветка выделенного слова. К последнему так привык, что очень не хватает.
Выделяешь переменную и сращу видишь где она ещё есть. Этим же и проверяю идентичность. Короче, без подсветки всё время чего-то не хватает.


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Там ниже в сообщениях ссылка
http://crapware.aidf.org/forum/index.php?topic=356.msg9428#msg9428

Дело в том, что там это..

Чуть не забыл. Должен стоять Clickermann версии 4.11  и зарегистрирован в реестре.

В общем, у меня клмн не ассоциирован со скриптами (правлю код в нотпеде), и как следствие он думаю и в ключах реестра не прописан.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Ну не знаю, не знаю...
Ассоциировать пара секунд. Удобней потом открывать будет.
А редактирование я открываю по ПКМ или кидаю скрипт на иконку Notepad++


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Пока желающих участвовать не нашлось. Приветствуется любая помощь.

В графику пока не лез, а продолжил расширять список функций кликера интегрирацией с AutoIT.
Сейчас реализованы команды:
Code: (clickermann) [Select]
// Получает дескриптор указанного окна
// CME_WinGetHandle("title", "text")

// Получает дескриптор окна рабочего стола
// CME_GetDesktopWindow()

// Получает идентификатор процесса (Process ID, PID), связанного с указанным окном
// CME_WinGetProcess("title", "text")

// Получает идентификатор процесса (PID) окна Clickermann
// CME_WinGetProcessCM()

// Получает состояние указанного окна
// CME_WinGetState("title", "text")
// $CME_return  - состояние побитово
//    1 = существует
//    2 = отображается
//    4 = доступно
//    8 = активно
//   16 = свёрнуто
//   32 = развёрнуто
// и раздельно:
//    $fEXIST - существует
//    $fSHOW - отображается
//    $fENABLE - доступно
//    $fACTIVE - активно
//    $fMINIMIZE - свёрнуто
//    $fMAXIMIZE - развёрнуто на весь экран

// Поверх всех окон
// CME_WinSetOnTop(hwnd, 1/0)

// Устанавливает прозрачность окна
// CME_WinSetTrans(hwnd, transporency)



// параметр "title" в функциях работы с окнами. Эти установки могут быть использованы, чтобы отличить окна по следующим свойствам:

//TITLE - Заголовок окна
//CLASS - Внутреннее название класса окна
//REGEXPTITLE -Заголовок окна с использованием регулярных выражений
//REGEXPCLASS - Название класса окна с использованием регулярных выражений
//LAST - Последнее окно, использованное в предыдущей команде
//ACTIVE - Текущее активное окно
//X \ Y \ W \ H - Координаты и размер окна
//INSTANCE - Номер экземпляра окна, если несколько окон соответствуют критерию поиска (отсчёт начинается с 1).
// [СВОЙСТВО1:Значение1; СВОЙСТВО2:Значение2; СВОЙСТВО3:Значение3]
// если "Значение" должно содержать символ ";", он должен быть продублирован

Планирую добавить команды по нахождению hWnd дочерних/родительских окон
Получение hWnd сонтролов (кнопок всяких) и команды кликов по ним по hWnd
[spoiler]Делал в мае на таком принципе утилиту висящую в трее и закрывающую окно TeamViewer остающееся после отключения управления.
Чтоб на работе пока меня нет если кто подойдёт не увидел что был сеанс.[/spoiler]

Что ещё добавить? из
https://autoit-script.ru/autoit3_docs/functions/Window%20Management.htm
https://autoit-script.ru/autoit3_docs/functions/Controls%20Management.htm
https://autoit-script.ru/autoit3_docs/libfunctions/winapi%20management.htm
« Last Edit: August 04, 2017, 05:52:33 PM by Vint »


i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
ооо, всецело поддерживаю, нужная штука (которая нафиг не нужна новичкам, а продвинутые могут и сами)
когда Джонни сделает функции - цены не будет
мне пока пришлось прикостыливать:
- поиск дочерних по классу (окон флеш-плеера) - ControlGetHandle
- блокировку ввода (http://autoit-script.ru/index.php?topic=162.0)