PDA

Просмотр полной версии : Мини-транслитератор - как бы такое сделать?


Aeon
06.09.2002, 10:39
Всем привет.

Недавно лазил по инету ища нормальный транслитератор. Нашёл несколько, но все какие то громоздкие. Вспомнил программку по имени PWshow которую видел однажды - когда она грузится, можно нажатием F10 показывать пароли спрятанные звездочками.

Задумался.

Появилась идея - маленкая программка грузится в память, сидит себе в Systray.... в настройках выбираешь кодировку в которую/из какой перекодировать (транслит, win-1251, koi8-r, ISO, cp-866). Нажатием, например, F8, все что выбрано в активном окне перекодируется в выбранную кодировку и вставляется назад в то же окно (если окно является editable - если нет, то может копирует транслитерированный текст на clipboard или просто ничего не делает...) Нажимаем F8 ещё раз - делает undo.

Проблема у меня одна - системные программы я писать не умею (PHP, Perl, немного Python, это мои пределы [пока]). Так что вопрос такой - насколько такой проект сложен, и не найдется ли умельца кто бы хотел такое написать? Я со своей стороны могу сделать интерфейс программки покрасивше и страничку для нее - работаю wеб-дизайнером как-никак.

С первого взгляда мне не кажется что написать такую штучку было бы очень уж сложно - но повторяю, о системном программировании имею очень слабое понятие, так что вполне могу ошибаться.

С любопытством жду ответов и идей.

Aeon
08.09.2002, 22:38
Мда..... всё с вами ясно. Ну хоть сказать насколько по вашему сложен проект, можно?

alexey_ma
09.09.2002, 09:58
Не очень сложно. Можно сделать примерно следующее: Находишь активное окно в системе(функция GetForegroundWindow()) определяешь поток этого окна (GetWindowThreadProcessId) коннектишся к потоку (AttachThreadInput) получаешь окно которое в фокусе(GetFocus) из него техт (GetWindowText) далаешь с этим текстом все что тебе нужно. Сконвертированный текст возвращаешь в окно либо через ClipBoard либо пишешь непосредственно в пямять процесса (это немного сложнее).

helldomain
13.09.2002, 07:55
Pisat neposredstwenno w pamyat processa ne stoit...

Nitrogen
16.09.2002, 04:38
да в какую память процесса?.. хэндл окна есть. хэндл
эдита или что там у вас будет есть?.. потом сендмессаджем устанавливаешь необходимый текст, или юзаешь setdlgitemtexta