Доработал получение раскладки по системному индикатору в виндовс 11.
Судя по логам, разработчики майкрософта на бешенном креативе переставляют его туда-сюда во внутренней иерархии объектов, в каждой версии. Так что мне предстоит узнать все места, где он может скрываться. Надеюсь, строители структуры элементов помогут.
Попутно прибил пару незначительных багов.
Внезапно обнаружил, что настройки из файла, сделанного в виндовс 10, не подтягиваются
в 11й, и наоборот. Оказалось, строка хранения шрифта немного отличается. Точки с запятой заменили на запятые, а точку дробной части размера, на запятую. Чисто чтобы не расслаблялись.))
Список изменений:
* (исправление) В виндовс 11 панель задач больше не красится в чёрный при выходе, если была использована настройка Аэро
* (исправление) Настройки шрифтов индикаторов не загружались в виндовс 11, если файл настроек было сделан в виндовс 10
* (исправление) При отключении проверки раскладки по клавишам модификаторам автоматически включалась настройка по системному индикатору
* (исправление) На некоторых компьютерах, возникала ошибка при определении раскладки по системному индикатору в виндовс 11
* (исправление) При изменении настроек экранного индикатора типа «надпись», он не перерисовывался
https://khsoft.ru/download/test/LayoutIndicator.v2.7.1.test.zip
Судя по логам, разработчики майкрософта на бешенном креативе переставляют его туда-сюда во внутренней иерархии объектов, в каждой версии. Так что мне предстоит узнать все места, где он может скрываться. Надеюсь, строители структуры элементов помогут.
Попутно прибил пару незначительных багов.
Внезапно обнаружил, что настройки из файла, сделанного в виндовс 10, не подтягиваются
в 11й, и наоборот. Оказалось, строка хранения шрифта немного отличается. Точки с запятой заменили на запятые, а точку дробной части размера, на запятую. Чисто чтобы не расслаблялись.))
w10: "screenLabelFont": {"Font": "Microsoft Sans Serif; 171,75pt; style=Bold"},
w11: "screenLabelFont": {"Font": "Microsoft Sans Serif, 171.75pt, style=Bold"},Список изменений:
* (исправление) В виндовс 11 панель задач больше не красится в чёрный при выходе, если была использована настройка Аэро
* (исправление) Настройки шрифтов индикаторов не загружались в виндовс 11, если файл настроек было сделан в виндовс 10
* (исправление) При отключении проверки раскладки по клавишам модификаторам автоматически включалась настройка по системному индикатору
* (исправление) На некоторых компьютерах, возникала ошибка при определении раскладки по системному индикатору в виндовс 11
* (исправление) При изменении настроек экранного индикатора типа «надпись», он не перерисовывался
https://khsoft.ru/download/test/LayoutIndicator.v2.7.1.test.zip
❤1
Немного исправленных багов перед добавлением поддержки разных раскладок для одного языка.
Случилось эпохальное событие в истории индикатора — побеждена ошибка с выходом из программы). Казалось бы, такое простое действие, но я регулярно ловил жуткие фризы всей системы, при закрытии.
Единственное, что убивало наповал без этих ужасных зависаний, это выполнение taskkill с именем exe-файла. Мега-костыль конечно). Проблема скрывалась в последнем скидывании записей в лог-файл, перед выходом.Стоило убрать его в параллельный запуск, как ошибка ушла, а выходить теперь можно без танцев с бубном.
Так же порадовала багуля с индикатором надписью, её не то, что исправлять, даже формулировать тяжело) (см. список исправлений)
Ну и проще всего далось исправление неверного положения экранных индикаторов, если экраны в виндовс расположены вертикально.
А меж тем, с последнего релиза, накопилось 38 исправлений и дополнений. Пора выходить на стабилизацию и новый релиз. Надеюсь, получится это сделать после фичи с разными раскладками и исправления нескольких багов.
https://khsoft.ru/download/test/LayoutIndicator.v2.7.2.test.zip
Список изменений:
• (исправление) Закрытие программы теперь происходит быстрее и потребляет меньше ресурсов
• (исправление) При загрузке настроек с отключенными флагами, индикатор каретки не менялся на текстовый
• (исправление) При отключенной индикации для мыши, но включенной для каретки, индикатор не показывался до вызова настроек, если при этом были выключены флаги
• (исправление) Неверно отображались экранные индикаторы если экраны располагались вертикально
Случилось эпохальное событие в истории индикатора — побеждена ошибка с выходом из программы). Казалось бы, такое простое действие, но я регулярно ловил жуткие фризы всей системы, при закрытии.
Единственное, что убивало наповал без этих ужасных зависаний, это выполнение taskkill с именем exe-файла. Мега-костыль конечно). Проблема скрывалась в последнем скидывании записей в лог-файл, перед выходом.Стоило убрать его в параллельный запуск, как ошибка ушла, а выходить теперь можно без танцев с бубном.
Так же порадовала багуля с индикатором надписью, её не то, что исправлять, даже формулировать тяжело) (см. список исправлений)
Ну и проще всего далось исправление неверного положения экранных индикаторов, если экраны в виндовс расположены вертикально.
А меж тем, с последнего релиза, накопилось 38 исправлений и дополнений. Пора выходить на стабилизацию и новый релиз. Надеюсь, получится это сделать после фичи с разными раскладками и исправления нескольких багов.
https://khsoft.ru/download/test/LayoutIndicator.v2.7.2.test.zip
Список изменений:
• (исправление) Закрытие программы теперь происходит быстрее и потребляет меньше ресурсов
• (исправление) При загрузке настроек с отключенными флагами, индикатор каретки не менялся на текстовый
• (исправление) При отключенной индикации для мыши, но включенной для каретки, индикатор не показывался до вызова настроек, если при этом были выключены флаги
• (исправление) Неверно отображались экранные индикаторы если экраны располагались вертикально
👍8
Длинные выходные помогли добраться до Индикатора.
Мой ограничитель частоты запусков, который я написал, чтобы не разгребать путаницу с зависимостями настроек, привёл к такой неочевидной багуле, что пришлось много часов вдумчиво смотреть на код. Благо, что по пути многое привёл в порядок.
Видимо, жизнь меня ничему не учит, потому что я пристроил его, с небольшими доработками, на ограничение запусков проверки раскладки, при нажатии клавиш.
На каждое нажатие запускается проверка, т.к. хоткеев на переключение языка бесконечное множество, если учитывать разного рода экзотику. Теперь с какой бы частотой не нажимались клавиши, поток проверки будет ограничен. Процессора, а следовательно и батареи ноутбука, теперь тратиться меньше.
Виндовс 11 удивила разной структурой системного индикатора в русской и английских версиях. Казалось бы, ставишь русский язык на английскую версию и не отличить, а вот нет, системный индикатор с другими классами элементов.
При простое, пропадала краска панели задач, если использовалось Aero, поставил дополнительного сторожа, будет красить дополнительно в таких конфигурациях, за одно проследит, чтобы все индикаторы принимали одинаковое значение, а то реакция на события может сильно растянуться во времени, зависит от ресурсов. Поэтому кликнули сейчас, а язык поменялся через секунду. Кстати, переключение на первый язык системы происходит быстрее чем на второй, если переключать кликом по встроенному индикатору)
Ну и самое главное! Тестовая поддержка нескольких раскладок с одним языком, при определении через системный индикатор. Давно хотел добавить. Ниже будет скрин, в названии языка теперь есть раскладка, чтобы отличать.
Спасибо всем, кто тестирует и присылает ошибки!
Список изменений:
* Доработка проверки раскладки по системному индикатору в виндовс 11
* Снижение нагрузки на процессор, при проверке по нажатию клавиш или ключевым событиям
* Повышена надёжность определения текущей раскладки
* Добавлена поддержка нескольких раскладок для одного языка
* Индикатор каретки теперь исчезает при перемещении окон
* (исправление) Некорректная работа при включении/отключении индикации флагами
* (исправление) При использовании настройки Aero, панель задач теряла цвет если компьютер долго находился в бездействии или она меняла размер
https://khsoft.ru/download/test/LayoutIndicator.v2.7.5.test.zip
Мой ограничитель частоты запусков, который я написал, чтобы не разгребать путаницу с зависимостями настроек, привёл к такой неочевидной багуле, что пришлось много часов вдумчиво смотреть на код. Благо, что по пути многое привёл в порядок.
Видимо, жизнь меня ничему не учит, потому что я пристроил его, с небольшими доработками, на ограничение запусков проверки раскладки, при нажатии клавиш.
На каждое нажатие запускается проверка, т.к. хоткеев на переключение языка бесконечное множество, если учитывать разного рода экзотику. Теперь с какой бы частотой не нажимались клавиши, поток проверки будет ограничен. Процессора, а следовательно и батареи ноутбука, теперь тратиться меньше.
Виндовс 11 удивила разной структурой системного индикатора в русской и английских версиях. Казалось бы, ставишь русский язык на английскую версию и не отличить, а вот нет, системный индикатор с другими классами элементов.
При простое, пропадала краска панели задач, если использовалось Aero, поставил дополнительного сторожа, будет красить дополнительно в таких конфигурациях, за одно проследит, чтобы все индикаторы принимали одинаковое значение, а то реакция на события может сильно растянуться во времени, зависит от ресурсов. Поэтому кликнули сейчас, а язык поменялся через секунду. Кстати, переключение на первый язык системы происходит быстрее чем на второй, если переключать кликом по встроенному индикатору)
Ну и самое главное! Тестовая поддержка нескольких раскладок с одним языком, при определении через системный индикатор. Давно хотел добавить. Ниже будет скрин, в названии языка теперь есть раскладка, чтобы отличать.
Спасибо всем, кто тестирует и присылает ошибки!
Список изменений:
* Доработка проверки раскладки по системному индикатору в виндовс 11
* Снижение нагрузки на процессор, при проверке по нажатию клавиш или ключевым событиям
* Повышена надёжность определения текущей раскладки
* Добавлена поддержка нескольких раскладок для одного языка
* Индикатор каретки теперь исчезает при перемещении окон
* (исправление) Некорректная работа при включении/отключении индикации флагами
* (исправление) При использовании настройки Aero, панель задач теряла цвет если компьютер долго находился в бездействии или она меняла размер
https://khsoft.ru/download/test/LayoutIndicator.v2.7.5.test.zip
👍3
В обсуждении зашла речь про скриншоты и индикаторы на них. Сам регулярно сталкиваюсь с этой проблемой. Пару раз отсылал снимки с флагами в переписке.
Сделал первый подход к снаряду. Обрабатывать одиночные нажатия PrintScr смысла нет, снимок успевает попасть в буфер обмена, до того как сработает перехват нажатия.
А вот хоткеи в сочетании с ctrl или win можно обработать. Комбинация начинается с них и можно успеть всё спрятать.
Для этого, в расширенных настройках появилось две дополнительные опции.
Сам пользуюсь LigthShot и хоткеем ctrl + alt + c, всё скрывается. С настройкой для win, работает для встроенное shift + win + s
Если уходить с PrtScr совсем не хочется, можно включить настройки для win или ctrl и нажимать их перед снимком, как вариант.
Скрытие по PrtScr, на полторы секунды, я оставил включенным по умолчанию, если бахнуть два раза, второй раз будет уже без индикаторов.
Список изменений:
* Добавлены настройки для скрытия индикатора по нажатию клавиш win и ctrl. Нажатие PrnScr так же скрывает индикатор на 1,5 секунды
https://khsoft.ru/download/test/LayoutIndicator.v2.7.6.test.zip
Сделал первый подход к снаряду. Обрабатывать одиночные нажатия PrintScr смысла нет, снимок успевает попасть в буфер обмена, до того как сработает перехват нажатия.
А вот хоткеи в сочетании с ctrl или win можно обработать. Комбинация начинается с них и можно успеть всё спрятать.
Для этого, в расширенных настройках появилось две дополнительные опции.
Сам пользуюсь LigthShot и хоткеем ctrl + alt + c, всё скрывается. С настройкой для win, работает для встроенное shift + win + s
Если уходить с PrtScr совсем не хочется, можно включить настройки для win или ctrl и нажимать их перед снимком, как вариант.
Скрытие по PrtScr, на полторы секунды, я оставил включенным по умолчанию, если бахнуть два раза, второй раз будет уже без индикаторов.
Список изменений:
* Добавлены настройки для скрытия индикатора по нажатию клавиш win и ctrl. Нажатие PrnScr так же скрывает индикатор на 1,5 секунды
https://khsoft.ru/download/test/LayoutIndicator.v2.7.6.test.zip
👍4
После моей лихой оптимизации, время от времени, при первом запуске, не появлялся экранный индикатор. Расследование показало, что его замыкало от одновременного обновления в нескольких потоках. Под эту лавочку обратил на него пристальное внимание, ускорил и оптимизировал. Теперь должен вести себя стабильнее.
Прошлая багуля показала, что при загрузке формы настроек, когда все чек-боксы и бегунки получают свои значения, яростно вызывая обновления индикаторов, нельзя обновляться асинхронно. Поэтому первый запуск насиловал систему в холостую.
Я долго избегал этой муторной переработки, но в воскресенье собрался с силами и перебрал все настройки, теперь, при первом показе формы, индикаторы не дёргаются вообще. Оказалось, достаточно поставить проверку на изменение настроек, если ничего не поменяли, значит просто молча выставляем что есть. Жаль эта простая идея не пришла ко мне раньше.
Тестирование моего ограничителя частоты запусков дало свои плоды. Выяснилось, если пропускать запуски проверок, можно прохлопать изменение состояний клавиш-модификаторов. Так как я переключаюсь капсом, поймал эту багулю лично — капс горит, а индикатор показывает неверный язык. Исправляя ошибку, убрал проверку раскладки по нажатию любых клавиш-не-модификаторов, если включена настройка проверки по состоянию. А это значит, что в этом режиме, при наборе текста процессор вообще не напрягается, это ещё экономичнее, чем с моим ограничителем. Ресурсы тратятся только на перемещение индикатора каретки.
Кстати, о нём. Спасибо @serglight, подсказал, что при получении координат каретки, можно смотреть её ширину. Если она нулевая, то показывать индикатор не нужно, это значит курсор где-то в дебрях приложения и без фокуса. Поглядел как себя ведут эти значения, добавил проверки, теперь индикатор не показывается в некоторых приложения, где он висел в непонятных местах.
Давно не видел криво загруженного флага в индикаторах, раньше встречался время от времени. Пропал баг?
Дело близится к релизу...
Список изменений:
* (исправление) Иногда, экранный индикатор не показывался при запуске
* Оптимизирован вывода экранного индикатора
* На вкладке «Чёрный список» удалена кнопка «Новое». Добавление происходит по нажатию на «Сохранить»
* Уменьшена нагрузка на процессор при наборе текста, если включена настройка определения раскладки по состоянию клавиш
* Улучшен алгоритм индикатор каретки, стал меньше срабатывать там где не нужно
https://khsoft.ru/download/test/LayoutIndicator.v2.7.8.test.zip
Прошлая багуля показала, что при загрузке формы настроек, когда все чек-боксы и бегунки получают свои значения, яростно вызывая обновления индикаторов, нельзя обновляться асинхронно. Поэтому первый запуск насиловал систему в холостую.
Я долго избегал этой муторной переработки, но в воскресенье собрался с силами и перебрал все настройки, теперь, при первом показе формы, индикаторы не дёргаются вообще. Оказалось, достаточно поставить проверку на изменение настроек, если ничего не поменяли, значит просто молча выставляем что есть. Жаль эта простая идея не пришла ко мне раньше.
Тестирование моего ограничителя частоты запусков дало свои плоды. Выяснилось, если пропускать запуски проверок, можно прохлопать изменение состояний клавиш-модификаторов. Так как я переключаюсь капсом, поймал эту багулю лично — капс горит, а индикатор показывает неверный язык. Исправляя ошибку, убрал проверку раскладки по нажатию любых клавиш-не-модификаторов, если включена настройка проверки по состоянию. А это значит, что в этом режиме, при наборе текста процессор вообще не напрягается, это ещё экономичнее, чем с моим ограничителем. Ресурсы тратятся только на перемещение индикатора каретки.
Кстати, о нём. Спасибо @serglight, подсказал, что при получении координат каретки, можно смотреть её ширину. Если она нулевая, то показывать индикатор не нужно, это значит курсор где-то в дебрях приложения и без фокуса. Поглядел как себя ведут эти значения, добавил проверки, теперь индикатор не показывается в некоторых приложения, где он висел в непонятных местах.
Давно не видел криво загруженного флага в индикаторах, раньше встречался время от времени. Пропал баг?
Дело близится к релизу...
Список изменений:
* (исправление) Иногда, экранный индикатор не показывался при запуске
* Оптимизирован вывода экранного индикатора
* На вкладке «Чёрный список» удалена кнопка «Новое». Добавление происходит по нажатию на «Сохранить»
* Уменьшена нагрузка на процессор при наборе текста, если включена настройка определения раскладки по состоянию клавиш
* Улучшен алгоритм индикатор каретки, стал меньше срабатывать там где не нужно
https://khsoft.ru/download/test/LayoutIndicator.v2.7.8.test.zip
👍5
Подготовил версию к релизу. Выкладываю здесь для удобства, чтобы не нужно было ходить на сайт за обновлением.
Закрыл мелкие баги и разобрался с блоком выхода из виндовс. Совсем забыл, что заблокировал уничтожение формы настроек, чтобы она каждый раз не создавала заново все свои многочисленные элементы управления. Она-то и не давала системе спокойно завершиться. Сам бы я этот баг не нашёл никогда, т.к. перезагружаю компьютер примерно раз в год.)
Следующая новость — официальный релиз.
Список изменений:
* (исправление) Неверно считалось количество компьютеров на которых программа может работать одновременно. В стандартной лицензии их 2
* (исправление) Форма окончания пробного периода не переводилась на выбранный язык
* (исправление) Уменьшено «дребезжание» текстовой каретки при быстром наборе текста
* (исправление) Программа не давала завершить работу Виндовс, если до этого вызывалась форма настроек
https://khsoft.ru/download/test/LayoutIndicator.v2.7.9.test.zip
Закрыл мелкие баги и разобрался с блоком выхода из виндовс. Совсем забыл, что заблокировал уничтожение формы настроек, чтобы она каждый раз не создавала заново все свои многочисленные элементы управления. Она-то и не давала системе спокойно завершиться. Сам бы я этот баг не нашёл никогда, т.к. перезагружаю компьютер примерно раз в год.)
Следующая новость — официальный релиз.
Список изменений:
* (исправление) Неверно считалось количество компьютеров на которых программа может работать одновременно. В стандартной лицензии их 2
* (исправление) Форма окончания пробного периода не переводилась на выбранный язык
* (исправление) Уменьшено «дребезжание» текстовой каретки при быстром наборе текста
* (исправление) Программа не давала завершить работу Виндовс, если до этого вызывалась форма настроек
https://khsoft.ru/download/test/LayoutIndicator.v2.7.9.test.zip
👍2
Самый большой релиз за всю историю Индикатора раскладки! Версия 2.7.9
19 улучшений и 36 исправлений ошибок.
Что-то было переписано полностью, что-то приведено в порядок, проект стал более упорядоченным.
А значит более дружелюбным для добавления новых, крутых функций!
Не устаю говорить спасибо всем, кто присылал репорты. Писал, делал снимки экрана, записывал видео, делился советами и идеями. Без вас, программа бы не эволюционировала до матёрого приложения, готового к работе в самых разнообразных ситуациях.
Отдельное спасибо за покупки ключей и поддержку!
Все ключи регистрации работают в новой версии.
Наиболее значимые доработки:
* Добавлена поддержка нескольких раскладок для одного языка
* Улучшена проверка раскладки по системному индикатору в Виндовс 11
* Повышена надёжность определения текущей раскладки
* Оптимизирован вывод экранного индикатора
* Улучшен алгоритм индикатора каретки, стал меньше срабатывать там, где не нужно
Полное описание изменений: https://khsoft.ru/li/?action=li.change.log
Сайт программы: https://khsoft.ru/li/
19 улучшений и 36 исправлений ошибок.
Что-то было переписано полностью, что-то приведено в порядок, проект стал более упорядоченным.
А значит более дружелюбным для добавления новых, крутых функций!
Не устаю говорить спасибо всем, кто присылал репорты. Писал, делал снимки экрана, записывал видео, делился советами и идеями. Без вас, программа бы не эволюционировала до матёрого приложения, готового к работе в самых разнообразных ситуациях.
Отдельное спасибо за покупки ключей и поддержку!
Все ключи регистрации работают в новой версии.
Наиболее значимые доработки:
* Добавлена поддержка нескольких раскладок для одного языка
* Улучшена проверка раскладки по системному индикатору в Виндовс 11
* Повышена надёжность определения текущей раскладки
* Оптимизирован вывод экранного индикатора
* Улучшен алгоритм индикатора каретки, стал меньше срабатывать там, где не нужно
Полное описание изменений: https://khsoft.ru/li/?action=li.change.log
Сайт программы: https://khsoft.ru/li/
khsoft.ru
Индикатор раскладки (Layout Indicator)
Программа для индикации текущего языка ввода
👍6❤1
Индикатор попал в дайджест РодуктРадара, это ресурс про стартапы и прочие IT-продукты
https://productradar.ru/product/indikator-raskladki/
За него можно проголосовать (нажать кнопку «Поддержать»)
https://productradar.ru/product/indikator-raskladki/
За него можно проголосовать (нажать кнопку «Поддержать»)
❤2
Из комментариев.
Клавиатура Corsair K55 RGB PRO + Индикатор раскладки = изменение цвета подсветки в зависимости от языка
от @TutEvgen1984
Выглядит очень круто!
https://youtube.com/shorts/ziScI_4Ck7s?si=eVJEBGeAa4mLObOn
Клавиатура Corsair K55 RGB PRO + Индикатор раскладки = изменение цвета подсветки в зависимости от языка
от @TutEvgen1984
Выглядит очень круто!
https://youtube.com/shorts/ziScI_4Ck7s?si=eVJEBGeAa4mLObOn
YouTube
Corsair K55 RGB PRO + layout indicator = изменение цвета подсветки в зависимости от языка раскладки
👍4
Scroll Lock как индикатор языка
В комментариях зашла речь, что многие печатают, глядя на клавиатуру, поэтому приходится косить взгляд на монитор.
Предлагаю попробовать настроить индикацию языка через состояние Scroll Lock. Для этого вам нужно скачать и положить в любую директорию прикреплённые файлы. Я положил их в C:\temp\3
После этого, в командах раскладки, написать следующие команды для нужных языков:
для включения ScrollLock
для выключения ScrollLock
Путь до файла укажите свой. Отпишитесь в комментариях, кто попробует.
В комментариях зашла речь, что многие печатают, глядя на клавиатуру, поэтому приходится косить взгляд на монитор.
Предлагаю попробовать настроить индикацию языка через состояние Scroll Lock. Для этого вам нужно скачать и положить в любую директорию прикреплённые файлы. Я положил их в C:\temp\3
После этого, в командах раскладки, написать следующие команды для нужных языков:
для включения ScrollLock
powershell -File C:\temp\3\scrolllock-on.ps1
для выключения ScrollLock
powershell -File C:\temp\3\scrolllock-off.ps1
Путь до файла укажите свой. Отпишитесь в комментариях, кто попробует.
👍3❤1
Пираты
Пока нет времени на разработку, расскажу вам про пиратов. Считается, что программа пришла к успеху, если её начали взламывать. По этому критерию, Индикатор успешен уже очень давно). Помню когда первый раз нашёл его на пиратском сайте, написал админам, чтобы хоть версию обновили, там лежало что-то очень старое.
Мне так лень возиться с защитой, что в первой реализации просто сделал настройку isRegister. Можно было найти файл конфигурации, исправить 0 на 1 и стать кулхацкером. Функционал был минимальным, но я потратил на разработку столько времени, что решил попродавать за 50₽, столько стоили первые версии. Поэтому особо не вкладывался в это.
Не сказал бы, что уровень защиты кардинально улучшился. Хочется пилить новые фичи и повышать скорость со стабильностью, а не тратить время на огораживание. К тому же, чем более сложной становилась защита, тем больше появлялось ошибок, связанных с ней. Помню как поставил код для обнаружения отдалки. У него очень
простой принцип — чтобы изучить приложение на уровне команд процессора, нужно заморозить его выполнение. Получается, если программа определит, что ей не давали выполняться длительное время, значит это злостный нарушитель с дебагером. Но после внедрения сразу обнаружилось, что это срабатывает когда компьютер оправляют в спящий режим. Тоже, своего рода, заморозка времени.
Взлом Индикатора давно поставлен на поток. После каждого релиза, приложения шлют отчёты о запусках, где видно как перебирают параметры, модифицируют исполняемый файл и т.д. Иногда смотрю ip таких умельцев, часто бывает Малайзия и Таиланд. А вчера, например, какой то человек из Нижнего Новгорода скачал архив с программой 130 раз. Разные версии, все тестовые и все старые, по нескольку раз) Похоже, будет с ними развлекаться. Интересно конечно было бы посмотреть, сколько всего Инидкаторов трудятся во благо человечества, но я вижу в отчётах только легальные копии.
Пока нет времени на разработку, расскажу вам про пиратов. Считается, что программа пришла к успеху, если её начали взламывать. По этому критерию, Индикатор успешен уже очень давно). Помню когда первый раз нашёл его на пиратском сайте, написал админам, чтобы хоть версию обновили, там лежало что-то очень старое.
Мне так лень возиться с защитой, что в первой реализации просто сделал настройку isRegister. Можно было найти файл конфигурации, исправить 0 на 1 и стать кулхацкером. Функционал был минимальным, но я потратил на разработку столько времени, что решил попродавать за 50₽, столько стоили первые версии. Поэтому особо не вкладывался в это.
Не сказал бы, что уровень защиты кардинально улучшился. Хочется пилить новые фичи и повышать скорость со стабильностью, а не тратить время на огораживание. К тому же, чем более сложной становилась защита, тем больше появлялось ошибок, связанных с ней. Помню как поставил код для обнаружения отдалки. У него очень
простой принцип — чтобы изучить приложение на уровне команд процессора, нужно заморозить его выполнение. Получается, если программа определит, что ей не давали выполняться длительное время, значит это злостный нарушитель с дебагером. Но после внедрения сразу обнаружилось, что это срабатывает когда компьютер оправляют в спящий режим. Тоже, своего рода, заморозка времени.
Взлом Индикатора давно поставлен на поток. После каждого релиза, приложения шлют отчёты о запусках, где видно как перебирают параметры, модифицируют исполняемый файл и т.д. Иногда смотрю ip таких умельцев, часто бывает Малайзия и Таиланд. А вчера, например, какой то человек из Нижнего Новгорода скачал архив с программой 130 раз. Разные версии, все тестовые и все старые, по нескольку раз) Похоже, будет с ними развлекаться. Интересно конечно было бы посмотреть, сколько всего Инидкаторов трудятся во благо человечества, но я вижу в отчётах только легальные копии.
👏4👍2
Тестовая сборка Индикатора — 2.8.0
На прошлой неделе, мой единственный, рабочий ноут начал подавать сигналы о приближении смерти. Я, конечно, преступно долго не менял у него термопасту, да и вентилятор странно шумел. Успокаивал себя тем, что датчики температуры показывали приемлемые значения. Уже в мастерской, мне объяснили, что нынче, при перегреве просто падает частота и нужно смотреть ещё и её. Мораль проста — обслуживайте свои машины, особенно если быстрой замены нет, а работать нужно срочно и без перерывов.
В итоге пришлось судорожно собирать системник. Я планировал этим заняться, но в более спокойной обстановке. Перестало хватать 32Гб оперативной памяти — физического потолка ноутбука. Спасибо виртуалкам и средам разработки. Виндовс пережил смену всего оборудования не очень хорошо, поэтому пришлось переставлять всё...
И тут мы возвращаемся к Индикатору. На новой виртуальной машине, перестали подхватываться раскладки из системного индикатора, когда их несколько для одного языка. Опять сыграла разница между английской виндой с русским языковым пакетом и русской изначально. Уже наступал на эти грабли в простом варианте — один язык, одна раскладка. Можно было догадаться, что с несколькими раскладками тоже будет сюрприз.
Пришлось считывать описание из всплывашки системного индикатора и ориентироваться по нему. Ещё одним способом определения раскладки стало больше.
Сразу после этого занялся, давно раздражающей, багулей — при сворачивании всех окон (win + d, win + m), пропадала подсветка панелей задач. Начал ковыряться с параметрами форм, но быстро выяснил, что дело в детекторе полноэкранных приложений. Когда уходили все окна, фокус ввода переходил на десктоп, который определялся как полноэкранный, что не удивительно. Раньше видел такое поведение только на виртуалке, но недавно столкнулся на реальной машине.
Добавил в проверку на фулскрин код, который смотрит заголовок окна, если там пусто, значит это что-то системное и делать ничего не нужно. Это небольшой шаг к тому, чтобы в будущем сделать список программ для исключения этой проверки, т.к. есть такие, которые только претворяются полноэкранными, например клиент телеграмма.
Заодно уменьшил количество вызовов проверок на принадлежность к чёрному списку и полному экрану. Было несколько лишних вызовов, в холостую гоняли процессор.
Список изменений:
✅ Добавлен новый способ определения текущей раскладки по системному индикатору Виндовс, для случаев, когда есть несколько раскладок одного языка.
✅ Снижена нагрузка на процессор при работе с заполненным чёрным списком и детекцией полноэкранных приложений.
🛠 (исправление) Подсветка панелей задач пропадала после сворачивания всех окон (win+d, win+m).
🛠 (исправление) При включенной проверке полноэкранных приложений, на некоторых версиях Виндовс, индикация пропадала если фокус ввода был на рабочем столе.
https://khsoft.ru/download/test/LayoutIndicator.v2.8.0.test.zip
На прошлой неделе, мой единственный, рабочий ноут начал подавать сигналы о приближении смерти. Я, конечно, преступно долго не менял у него термопасту, да и вентилятор странно шумел. Успокаивал себя тем, что датчики температуры показывали приемлемые значения. Уже в мастерской, мне объяснили, что нынче, при перегреве просто падает частота и нужно смотреть ещё и её. Мораль проста — обслуживайте свои машины, особенно если быстрой замены нет, а работать нужно срочно и без перерывов.
В итоге пришлось судорожно собирать системник. Я планировал этим заняться, но в более спокойной обстановке. Перестало хватать 32Гб оперативной памяти — физического потолка ноутбука. Спасибо виртуалкам и средам разработки. Виндовс пережил смену всего оборудования не очень хорошо, поэтому пришлось переставлять всё...
И тут мы возвращаемся к Индикатору. На новой виртуальной машине, перестали подхватываться раскладки из системного индикатора, когда их несколько для одного языка. Опять сыграла разница между английской виндой с русским языковым пакетом и русской изначально. Уже наступал на эти грабли в простом варианте — один язык, одна раскладка. Можно было догадаться, что с несколькими раскладками тоже будет сюрприз.
Пришлось считывать описание из всплывашки системного индикатора и ориентироваться по нему. Ещё одним способом определения раскладки стало больше.
Сразу после этого занялся, давно раздражающей, багулей — при сворачивании всех окон (win + d, win + m), пропадала подсветка панелей задач. Начал ковыряться с параметрами форм, но быстро выяснил, что дело в детекторе полноэкранных приложений. Когда уходили все окна, фокус ввода переходил на десктоп, который определялся как полноэкранный, что не удивительно. Раньше видел такое поведение только на виртуалке, но недавно столкнулся на реальной машине.
Добавил в проверку на фулскрин код, который смотрит заголовок окна, если там пусто, значит это что-то системное и делать ничего не нужно. Это небольшой шаг к тому, чтобы в будущем сделать список программ для исключения этой проверки, т.к. есть такие, которые только претворяются полноэкранными, например клиент телеграмма.
Заодно уменьшил количество вызовов проверок на принадлежность к чёрному списку и полному экрану. Было несколько лишних вызовов, в холостую гоняли процессор.
Список изменений:
✅ Добавлен новый способ определения текущей раскладки по системному индикатору Виндовс, для случаев, когда есть несколько раскладок одного языка.
✅ Снижена нагрузка на процессор при работе с заполненным чёрным списком и детекцией полноэкранных приложений.
🛠 (исправление) Подсветка панелей задач пропадала после сворачивания всех окон (win+d, win+m).
🛠 (исправление) При включенной проверке полноэкранных приложений, на некоторых версиях Виндовс, индикация пропадала если фокус ввода был на рабочем столе.
https://khsoft.ru/download/test/LayoutIndicator.v2.8.0.test.zip
👍4
Тестовая сборка Индикатора — 2.8.1
Заметил недавно, что приложения-плееры и видеохостеры скрывают мышиный курсор, когда смотришь видео. Причём, они это делают даже в оконном режиме, можно увидеть на ютубе, например. Получалась странная картина — курсора нет, а его индикатор висит. Добавил детекцию исчезновения, теперь индикатор тоже будет исчезать. Люблю такие улучшения, не нужно делать никаких настроек в интерфейсе.
Пару недель назад пришлось часто перезагружаться. Индикатор никак не желал стартовать при запуске системы, что странно, потому что я уже лечил такую болезнь. Оказалось, там скрывалась древняя багуля, которая не давала это сделать, если в пути до файла были пробелы. Пришлось поколдовать с экранизацией кавычек.
Под шумок, исправил нелогичность при отключении индикации цветом таскбара. Меня так поразила просьба добавить эту фичу, ведь ради неё программа и была написана), что не учёл все нюансы при реализации. Цветные формы-подложки исчезали, а прозрачность сохранялась. Так же она продолжала работать, если включали Aero, хоть это и не нужно. Теперь всё чётко — выключена подсветка или включено Aero — возвращается прежняя прозрачность и отключаются, управляющие ей контролы.
Список изменений:
✅ Индикатор мышиного курсора автоматически скрывается, когда скрывается сам курсор.
🛠 (исправление) Программа не стартовала при запуске Виндовс, если в пути до неё, была директория с пробелом в названии.
🛠 (исправление) При отключении индикации цветом панели задач, возвращается изначальное значение её прозрачности. Тоже самое, происходит при использовании настройки «Aero»
https://khsoft.ru/download/test/LayoutIndicator.v2.8.1.test.zip
Заметил недавно, что приложения-плееры и видеохостеры скрывают мышиный курсор, когда смотришь видео. Причём, они это делают даже в оконном режиме, можно увидеть на ютубе, например. Получалась странная картина — курсора нет, а его индикатор висит. Добавил детекцию исчезновения, теперь индикатор тоже будет исчезать. Люблю такие улучшения, не нужно делать никаких настроек в интерфейсе.
Пару недель назад пришлось часто перезагружаться. Индикатор никак не желал стартовать при запуске системы, что странно, потому что я уже лечил такую болезнь. Оказалось, там скрывалась древняя багуля, которая не давала это сделать, если в пути до файла были пробелы. Пришлось поколдовать с экранизацией кавычек.
Под шумок, исправил нелогичность при отключении индикации цветом таскбара. Меня так поразила просьба добавить эту фичу, ведь ради неё программа и была написана), что не учёл все нюансы при реализации. Цветные формы-подложки исчезали, а прозрачность сохранялась. Так же она продолжала работать, если включали Aero, хоть это и не нужно. Теперь всё чётко — выключена подсветка или включено Aero — возвращается прежняя прозрачность и отключаются, управляющие ей контролы.
Список изменений:
✅ Индикатор мышиного курсора автоматически скрывается, когда скрывается сам курсор.
🛠 (исправление) Программа не стартовала при запуске Виндовс, если в пути до неё, была директория с пробелом в названии.
🛠 (исправление) При отключении индикации цветом панели задач, возвращается изначальное значение её прозрачности. Тоже самое, происходит при использовании настройки «Aero»
https://khsoft.ru/download/test/LayoutIndicator.v2.8.1.test.zip
👍8
Клавиатура Corsair
Пост про клавиатуру с программируемой подсветкой не прошёл даром!
На Авито была заказана такая же модель. SDK от производителя было изучено, исходники программы были просмотрены.
Итог — exe-файл потолстел на 500 Кб, а Индикатор теперь умеет мигать подсветкой клавиатуры от Corsair
Для включения, нужно поставить в расширенных настройках (правый клик по иконке с систрее), элемент «Поддержка клавиатур Corsair» в значение «True».
Список изменений:
✅ Поддержка индикации с помощью подсветки клавиатур Corsair
https://khsoft.ru/download/test/LayoutIndicator.v2.8.2.test.zip
Пост про клавиатуру с программируемой подсветкой не прошёл даром!
На Авито была заказана такая же модель. SDK от производителя было изучено, исходники программы были просмотрены.
Итог — exe-файл потолстел на 500 Кб, а Индикатор теперь умеет мигать подсветкой клавиатуры от Corsair
Для включения, нужно поставить в расширенных настройках (правый клик по иконке с систрее), элемент «Поддержка клавиатур Corsair» в значение «True».
Список изменений:
✅ Поддержка индикации с помощью подсветки клавиатур Corsair
https://khsoft.ru/download/test/LayoutIndicator.v2.8.2.test.zip
🔥4👍1