Окна с Edit'ами, не имеющими класса

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Eugie, Romeo, Hawk

Ответить
RAVEN
Сообщения: 10
Зарегистрирован: 08 окт 2004, 11:20
Откуда: Москва
Контактная информация:

20 окт 2004, 11:23

Скажу сразу, что мне нужно вытянуть пароль из Opera 7.54. При заходе на одну страничку требуется пароль. Он был набран ранее и сохранен отмечанием галочки "сохранить пароль". Так вот, при заходе на сайт появляется окошко его класс "OpWindow", в нем еще одно окно, его класс "OperaWindowClass", подклассов в нем нету, это я проверял с помощью Spy++, смотрел и окна и сообщения, нигде никакого намека на подклассы и соответственно HWND окон Edit'ов в которые вводится логин и пароль, однако сами Edit'ы тут как тут, дразнят меня своим видом. У меня по поводу вышесказанного два вопроса:
1) Как можно создать такое окно в котором будут находиться элементы управления такие как Edit, не имеющие своего класса?
2) Как в такой ситуации можно добраться до этого Edit'а?
Буду очень благодарен за любой опыт, которым Вы со мной поделитесь.
P.S. И по возможности накидайте пожалуйста коротенький примерчик (желательно для среды C++ Builder или Delphi, но лучше для билдера).
Заранее благодарен всем откликнувшимся!
У настоящего программиста на вопрос "Можете ли вы написать такую программу" может быть только два ответа:
"Могу" и "Могу, но не знаю как"
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

20 окт 2004, 12:06

1) Как можно создать такое окно в котором будут находиться элементы управления такие как Edit, не имеющие своего класса?
Создать прямоугольник - типа диалоговое окно.
Закрасить его цветом, зарегистрированным как цвет панели.
На нем нарисовать маленькие прямоугольнички, и закрасить их цветом "цвет рабочей области". Это будут Эдит боксы.
Теперь надо отслеживать клавишу Tab для перемещения фокуса по панели и все остальные клавиши для ввода текста
в текущий эдитбокс.

Соответственно, в текущем эдитбоксе надо рисовать буковки, соответствующие тем, которые нажал пользователь, отслеживать перемещения курсора итп. Еще неплохо мигать курсором для убедительности.
2) Как в такой ситуации можно добраться до этого Edit'а?
Точно так же, как открыть дверь, нарисованную на стене. Нет там Эдита; там есть нарисованный прямоугольник, который похож на Эдит.
2B OR NOT(2B) = FF
RAVEN
Сообщения: 10
Зарегистрирован: 08 окт 2004, 11:20
Откуда: Москва
Контактная информация:

20 окт 2004, 12:36

Могу сказать только одно - ЗАШИБИСЬ!!! :shock:
У настоящего программиста на вопрос "Можете ли вы написать такую программу" может быть только два ответа:
"Могу" и "Могу, но не знаю как"
RAVEN
Сообщения: 10
Зарегистрирован: 08 окт 2004, 11:20
Откуда: Москва
Контактная информация:

20 окт 2004, 15:33

Absurd, а откуда такая информация?
У настоящего программиста на вопрос "Можете ли вы написать такую программу" может быть только два ответа:
"Могу" и "Могу, но не знаю как"
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

20 окт 2004, 15:57

Absurd, а откуда такая информация?
Таких программ до кучи.

Им окно OS Windows нужно только для одной цели - потому что это прямоугольник, на котором можно рисовать.
В основном это кросплатформенные программы, у которых ядро написано на портируемом подмножестве С/C++,
и к этому ядру присоединяются маленькие библиотечки, которые позволяют рисовать на конкретных поверхностях.
2B OR NOT(2B) = FF
Ответить