Почему и хочется придумать некий визуальный настройщик для быстрой установки/правки/отображения всех границ областей ифпикинов/ сканпикселей/ и т. д. из текущего скрипта.Так я тебе предлагал сделать. Но нужна конкретика. Нужно разработать конкретные функции и выбрать/нарисовать интерфейс, чтобы было возможно пользоваться больше одного раза.
Такую штуку реально ли ваще замутить на том же АвтоИте или мож в каком другом средстве типа виртуальной линейки? Просто хотелось бы элементарно получить наводку на любое софтовое средство, позволяющее рисовать тонкие горизонтальные/ вертикальные линии ПОВЕРХ окон, желательно по заданным координатам/толщине штриха.
А просто виртуального желания "замутить что нибудь этакое, чтобы ого-го!" недостаточно.
Пункт_меню_утилиты_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 |
--- | (разделитель) |
Предложить функционал | Переходит на этот форум, прямо в тему для утилиты |
Ну, Закрыть | Какгбэ закрывает приложение |
Вкладки__________________ | >>> Функции |
Хоткеи (с возможностью изменения и индикации занятости хоткея) | Хоткей для команды Обработать буфер (дефолт: 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) | |
Предпочитаемый тип рамки при создании (дефолт: ифпикин) | |
О программе | Автозапуск (галочка-триггер) |
Версия утилиты | |
Версия АвтоИт | |
Год/дата выпуска | |
Ссылка на топик с обсуждением | |
Кнопки управления рамками (Стрелки перемещают рамку, Шифт+стрелки изменяют размер, Ктрл+стрелки меняют активную рамку) | |
а что ты, на АУ можешь вааще любые функции реализовать и всё-всё сделаешь из того, что я напишуНет конечно. Нужно обсуждать. Если возможно, искать замену.
с возможностью настройки её местоположения/размера за счёт перетаскивания 8 маркеров (4 маркера на углах + 4 на серединах граней)Может как нибудь проще? А то выйдет не очень юзабельно, на каждую область куча настроек.
Сперва всплывает окно с дроплистом доступных функций (GETSCREEN/ PXLCOUNT+XOR+ CRC+REPLACE/ IF_PIXEL_IN/ IF_PICTURE_IN/ SCANPICTURE/ SCANPXL/ SCREENSHOTEX/ SCREENSHOTFIX/ COLORMODE/ WNDPOS+SIZE +GETINFO+SETINFO)И нафейхуа такие сложности? Мы ведь и так работаем в редакторе. Зачем большое меню с разными функциями которое дублирует редактор и в которых неудобно ориентироваться без структуры?
...
и с возможностью в конце настройки вставить полученный код в буфер по нажатию кнопки на тулбаре
Я думал это мы с тобой обсуждали, уж больно похоже. Нет? Не твоя реинкарнация?Не, туфля не моя. Но в первую неделю нахождения тут на форуме я прочитал много тем, вкратце я прочитал и ту тему, оттуда же я и взял идею для утилитки. Но правда сейчас я уже и забыл, что та тема существовала и что идея пришла оттуда. У меня есть скриншотилка LightShot и оттуда я почерпнул идейку с тулбаром и рамкой (а также маркеры, система хоткеев, шифт для изменения области выделения). Вот как ЛайтШот в оригинале сморится:
http://crapware.aidf.org/forum/index.php?topic=2603.0
Меню в трее?...По правде сказать, ифпикин это самая популярная функция у меня, я когда впервые зашёл в редактор кликера, просто обалдел, что прога имеет столько команда и даже умеет работать с экраном (распознавать сравнивая и реагировать, иметь циклы). Но это я чёт отвлёкся.
Я думал это будет мини окошко с кнопочками. С выводом координат расстояний и заданных смещений...
Окно с изменяемой прозрачностью и в нескольких размерах:
обычный (не большой) и компактный (без инфы по координатам и цветам).
Помимо задания границ хотелось бы добавлять позже туда и другие плюшки пришедшие в голову.
Меню в трее никто не отменял, оно тоже имеет место быть.
К сет_коордам можно добавить, чтоб они сидели резидентно и ждали нажатия хоткея для повторного использования, это б не плохо улучшило её юзабилити. Можно также сделать, чтоб после выделения области (после отжатия кнопки мыши) в сет-коордах выделение не исчезало сразу, а его б ещё можно было б дополнительно доподправить с помощью клавовых стрелок, а уже после нажатия энтера бы происходила отдача координат в буфер. А если всё же дойдёт дело до реализации заветных маркеров, то можно вместо 8 обойтись двумя крайними (по которым собсна и задаются четыре цифры координат). Просто тогда возникает вопрос, как отличать одну область от другой, если не будет заголовка с названием искомой картинки (в таком случае нужно обрабатывать по одной как в сет_коордах, а не сразу многих как у меня задумывалось в ТЗ). Вопрос ещё и в том, какую информацию мы хотим (читай: какую нужно) иметь в этом окошке и в какой форме, но мне кажется, что если в окне будет поля для текстового ввода, то смысла в них не много (то же самое мы можем сделать и в редакторе, да и откуда человек должен знать эти циферки?!).с возможностью настройки её местоположения/размера за счёт перетаскивания 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 сделать отдельно... потом...если захочешьесли нужно будет.
Посмотреть кандидатов на добавление из старого предложенияДа, есть много там достойных идей, которые досель не реализованы. А где её можно найти, эту утилиту из п. 14? она уже есть на форуме?
http://crapware.aidf.org/forum/index.php?topic=356.msg9091#msg9091
п. 11 - п. 13
п.14 уже реализовано в отдельной утилите. Можно подправить и тоже встроить сюда. Только переделать на поиск без участия к Clickermann.
Но придётся следить за актуальностью чтобы всё соответствовало текущей версии кликера.
А где её можно найти, эту утилиту из п. 14? она уже есть на форуме?Там ниже в сообщениях ссылка
Там ниже в сообщениях ссылка
http://crapware.aidf.org/forum/index.php?topic=356.msg9428#msg9428
Чуть не забыл. Должен стоять Clickermann версии 4.11 и зарегистрирован в реестре.
// Получает дескриптор указанного окна
// 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]
// если "Значение" должно содержать символ ";", он должен быть продублирован