imho.ws |
![]() |
![]() |
![]() |
# 1 |
::VIP::
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Всем привет.
Недавно лазил по инету ища нормальный транслитератор. Нашёл несколько, но все какие то громоздкие. Вспомнил программку по имени PWshow которую видел однажды - когда она грузится, можно нажатием F10 показывать пароли спрятанные звездочками. Задумался. Появилась идея - маленкая программка грузится в память, сидит себе в Systray.... в настройках выбираешь кодировку в которую/из какой перекодировать (транслит, win-1251, koi8-r, ISO, cp-866). Нажатием, например, F8, все что выбрано в активном окне перекодируется в выбранную кодировку и вставляется назад в то же окно (если окно является editable - если нет, то может копирует транслитерированный текст на clipboard или просто ничего не делает...) Нажимаем F8 ещё раз - делает undo. Проблема у меня одна - системные программы я писать не умею (PHP, Perl, немного Python, это мои пределы [пока]). Так что вопрос такой - насколько такой проект сложен, и не найдется ли умельца кто бы хотел такое написать? Я со своей стороны могу сделать интерфейс программки покрасивше и страничку для нее - работаю wеб-дизайнером как-никак. С первого взгляда мне не кажется что написать такую штучку было бы очень уж сложно - но повторяю, о системном программировании имею очень слабое понятие, так что вполне могу ошибаться. С любопытством жду ответов и идей. Последний раз редактировалось Aeon; 06.09.2002 в 10:42. |
![]() |
![]() |
# 3 |
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Не очень сложно. Можно сделать примерно следующее: Находишь активное окно в системе(функция GetForegroundWindow()) определяешь поток этого окна (GetWindowThreadProcessId) коннектишся к потоку (AttachThreadInput) получаешь окно которое в фокусе(GetFocus) из него техт (GetWindowText) далаешь с этим текстом все что тебе нужно. Сконвертированный текст возвращаешь в окно либо через ClipBoard либо пишешь непосредственно в пямять процесса (это немного сложнее).
__________________
Best Regards |
![]() |