![]() |
Changer - программа-транслятор
В процессе саморазвития у меня получилась такая себе софтина. Делал для себя т.к. жалко своих трудов и терпеть не могу стирать и набирать текст заново только потому, что забыл переключить раскладку, а слепым набором не владею. Вот решил поделиться. Может быть кому еще пригодится.
Прошу оценить. Если народу понравится, то буду развивать проект дальше, только подсказывайте, чего бы еще добавить. Если найдете какие-то баги тоже пишите. Кратко о программе: "Changer с легкостью переведет ваш текст, набранный в неправильной раскладке или с ошибочно включенным CapsLock, в то что должно было быть. Она тихонько висит в трее и ждет когда вы нажмете определенную комбинацию клавиш, т.н. "горячую клавишу"... Более подробно я все расписал на сайте программы и не вижу смысла переносить все сюда. Посмотрите пожалуйста и скажите свое мнение. http://www.gold-page.narod.ru |
Сразу бросается в глаза, что автор наступил на грабли, схожие с теми, что были у предпоследнего билда PuntoSwitcher, а именно - "захват" стандартной клавиатурной комбинации...
Сочетание клавиш Crtl-X, насколько мне известно, подавляющим количеством ОС (хотя в данном случае более чем достаточно любой Windows) и офисных программ воспринимается как "вырезать текст в буфер обмена". Даже если в результате не возникнет глюков (а у Punto с Shift-Ins возникли, и весьма серьёзные), сомневаюсь, чтобы кто-то из пользователей захотел переучиваться на использование альтернативного Shift-Del или мыши... До кучи: Ctrl-N - "Создать новый документ" или "Открыть новую вкладку" (в браузере); Ctrl-U - переключает режим подчёркивания шрифта в текстовых процессорах; Ctrl-E - выравнивание текста по центру страницы, Ctrl-R - по правому краю (в Word). Ctrl вообще весьма задействованная клавиша... Опять же, предлагая какую-никакую альтернативу Punto Switcher и Keyboard Ninja, надо бы делать упор на то, чем она лучше существующих и раскрученных брендов. Меня терзают смутные сомнения, что "ещё один Notepad" не лучше оригинального имеет шанс "на завоевание места под Cолнцем"... |
Добавлю еще, что и Punto Switcher и Keyboard Ninja умеют переключать раскладки "на лету". Таким образом не приходится производить лишних манипуляций с выделениями и горячими клавишами.
Автору предлагаю добавить в программу опцию переключения "на лету" и, кроме того, обратить взгляд на людей, имеющих на клавиатуре три и более языка. |
Цитата:
Цитата:
Чем моя прога лучше? Насколько я помню PuntoSwitcher транслирует только последнее слово. Changer - любой выделенный фрагмент, будь-то одна буква в слове или целый роман. Цитата:
Вы считаете это действительно необходимым? Я читал много отзывов людей в которых они пишут, что отключают переключение "на лету" и работают только в ручном режиме. И опять же, такое переключение на лету может транслировать только последнее слово. А если вы пишите например "я хороший мальчик" то скорее всего "я" так и останется нетранслированым и лишних телодвижений не избежать. Плюс добавится проблемма с вводом паролей, что очень нервирует. Как лучше это реализовать? Как дать понять проге, что сейчас будет вводится пароль и транслировать в этом окошке не нужно? Предварительным нажатием определенной клавиши? По моему несколько неудобно. Может подскажете другое решение? Цитата:
Да, у меня еще вопрос. Переключение на лету я хочу реализовать путем перехвата нажатия клавиш и анализа комбинаций букв, как у Punto. Это практически готовый клавиатурный шпион. Можно все нажатые кнопки записывать в лог и потом смотреть. Конечно же с возможностью включения/выключения этой функции. Реализовать это? Как думаете оно там нужно? |
Цитата:
Вообще говоря, было бы полезно посмотреть что уже есть у конкурентов... ;-) Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Возможно,стОит сделать вообще программу с базовым минимумом функциональности, а всё остальное сделать в виде модулей (как, например, Miranda IM, FAR, TC)? Тогда каждый соберёт себе конструкцию сообразно личным потребностям из готовых/самописных модулей. Опять же, если нет каких-то специфических соображений, кроссплатформенный продукт (Win32/Win64/MacOS/Linux) с открытыми исходными кодами (как минимум - Plugins API)имеет значительно бОльшие шансы на успех (а опыт, приобретённый при совместной разработке ПО - просто бесценен)! Кейлоггер, если всё-таки задумаешь его делать, должен быть обязательно отключён по умолчанию (как "Дневник" у Punto), а лучше всего - вообще вынесен в отдельный модуль, не входящий в основную поставку - иначе траблы с антивирусным ПО обеспечены. Также неплохо бы реализовать в программе прямую и обратную транслитерацию текста. И работу с текстом в буфере обмена. И, раз уж всё равно программа для борьбы с абракадаброй, добавить возможность декодирования испохабленных почтовых кодировок. Разделение программы на модули, повторюсь, сильно упростит добавление новых функций (не обязательно своими силами). А также даст пользователю возможность не ставить "монстрообразный комбайн", половиной функций которого половина пользователей не воспользуется никогда, там, где требуется 1-2 из множества функций. P.S. Разработчикам Punto, если они это увидят, также рекомендую задуматься о "модулизации"... :biggrin: |
Цитата:
Цитата:
Цитата:
Цитата:
|
Пока работаю над прогой по мере возможности, т.к. конец месяца и как обычно на работе завал. Только прошу тему не спешите удалять, как две предыдущие что здесь были. Я обязательно покажу что получилось.
И по ходу дела вопрос такого плана.. Как-то мне не очень нравится нажимать какую-то комбинацию клавиш перед вводом пароля для того чтобы прога не транслировала автоматом набираемый текст. Зачем лишние телодвижения? Я думаю как.. Все окна для пароля имеют маску. Правильно? Как узнать имеет ли активное окно маску или нет? Есть такой способ? И еще вопрос.. По какому принципу лучше реализовать автоматическое переключение? Так как в punto на основе исключений, или прицепив словари, как по моему предположению работает keyboard ninja (или я ошибаюсь?)? |
topic, на самом деле, насколько мне известно, и пунто, и нинзя автоматом переключают и по исключениям, и по словарю.
Цитата:
Если control не самописный, то используются вполне специфические вызовы API. И/или сравнивай перехваченный ввод с отображаемым текстом. Если не совпадают (замена на *) - явно окно ввода пароля. |
Часовой пояс GMT +4, время: 01:09. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.