![]() |
Мини-транслитератор - как бы такое сделать?
Всем привет.
Недавно лазил по инету ища нормальный транслитератор. Нашёл несколько, но все какие то громоздкие. Вспомнил программку по имени PWshow которую видел однажды - когда она грузится, можно нажатием F10 показывать пароли спрятанные звездочками. Задумался. Появилась идея - маленкая программка грузится в память, сидит себе в Systray.... в настройках выбираешь кодировку в которую/из какой перекодировать (транслит, win-1251, koi8-r, ISO, cp-866). Нажатием, например, F8, все что выбрано в активном окне перекодируется в выбранную кодировку и вставляется назад в то же окно (если окно является editable - если нет, то может копирует транслитерированный текст на clipboard или просто ничего не делает...) Нажимаем F8 ещё раз - делает undo. Проблема у меня одна - системные программы я писать не умею (PHP, Perl, немного Python, это мои пределы [пока]). Так что вопрос такой - насколько такой проект сложен, и не найдется ли умельца кто бы хотел такое написать? Я со своей стороны могу сделать интерфейс программки покрасивше и страничку для нее - работаю wеб-дизайнером как-никак. С первого взгляда мне не кажется что написать такую штучку было бы очень уж сложно - но повторяю, о системном программировании имею очень слабое понятие, так что вполне могу ошибаться. С любопытством жду ответов и идей. |
Мда..... всё с вами ясно. Ну хоть сказать насколько по вашему сложен проект, можно?
|
Не очень сложно. Можно сделать примерно следующее: Находишь активное окно в системе(функция GetForegroundWindow()) определяешь поток этого окна (GetWindowThreadProcessId) коннектишся к потоку (AttachThreadInput) получаешь окно которое в фокусе(GetFocus) из него техт (GetWindowText) далаешь с этим текстом все что тебе нужно. Сконвертированный текст возвращаешь в окно либо через ClipBoard либо пишешь непосредственно в пямять процесса (это немного сложнее).
|
Pisat neposredstwenno w pamyat processa ne stoit...
|
да в какую память процесса?.. хэндл окна есть. хэндл
эдита или что там у вас будет есть?.. потом сендмессаджем устанавливаешь необходимый текст, или юзаешь setdlgitemtexta |
Часовой пояс GMT +4, время: 00:43. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.