|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.11.2008, 18:05 | #1 |
я не ~
Пользователь
Регистрация: 19.09.2008
Сообщений: 58
|
работа с комп. через WinApi
Вот я нахожу элименты окна через функцию FindWindowEx. С полученым ID можно работать как с полноценным классом(реагировать на события, создавать дополнительные методы...) или все через WinApi нужно? Буду очень благодарен за самый скромный пример или сылку где искать нужно.
Последний раз редактировалось user_jasser; 13.11.2008 в 19:47. |
14.11.2008, 18:15 | #2 |
Пользователь
Регистрация: 05.10.2007
Сообщений: 34
|
Конечно, с полученным Handle можно работать через Winapi.
Для поиска компоненты как объекта лучше использовать функции FindChildControl или FindComponent. Насчет создавания дополнительных методов у классов или объектов в рантайм мне ничего не известно (по-моему, это не возможно обычными средствами Delphi....) |
14.11.2008, 18:51 | #3 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
2user_jasser ну не совсем как с обычным классом. например на чужой edit обработчик ты никакой не повешаешь (без хука) + некоторые винапи функции требуют, чтоб твой контрол принадлежал твоему приложению
|
15.11.2008, 17:26 | #4 |
я не ~
Пользователь
Регистрация: 19.09.2008
Сообщений: 58
|
тогда тяжеловато мне будет. Вот как отследить положение каретки в чужем Edit ?
|
15.11.2008, 18:58 | #5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Не очень удобные эти функи. И вообще если автор раскроет задачу поточнее то окажется что ее можно решить несколькими способами.
I'm learning to live...
Последний раз редактировалось Stilet; 15.11.2008 в 19:00. |
||
15.11.2008, 19:15 | #6 |
я не ~
Пользователь
Регистрация: 19.09.2008
Сообщений: 58
|
Задача :
Есть окно(чужей)проги в нем есть класс Edit, вот с ним мне надо поработать. Нужно отслеживать написания символа ('.') если введен то добавлять рядом с кареткой TListBox моей проги. Последний раз редактировалось user_jasser; 15.11.2008 в 19:17. |
15.11.2008, 19:34 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну если нашел хендл эдита то GetWindowText даст тебе его текст. Вот например в таймере получай текст эдита и проверяй является ли последним символом точка. )
Усек?
I'm learning to live...
|
15.11.2008, 20:14 | #8 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
2Stilet Тогда у таймера должен быть очень маленький интервал, ибо эту точку могут ввести быстро, во время простоя таймера.
тс. имхо проще созать хук WH_KEYBOARD, в keyboardProc проверять, не точку ли ввели. если точку, то проверить активно ли чужое окно и на каком элементе стоит фокус. если на нашем эдите - то ок, добавляем инфу в свою прогу |
15.11.2008, 20:48 | #9 |
я не ~
Пользователь
Регистрация: 19.09.2008
Сообщений: 58
|
Stilet
текст достаточно больней будет это как проверить что ввели именно точку? Сравнивая весь текст? vvviperrr да вобщем я нашел инфу как через меседж(WM_CHAR)зделать. вот только незнаю как каретку найти и фокус на класс? Да и пример цуко на С++ хотя (принцеп вроде похож). |
15.11.2008, 21:06 | #10 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Есть еще один вариат, я его когда-то применил успешно, но это весьмя экстремально: Значит узнаеш координаты того Эдита, делаем его навидимым, а на его место ставим свой эдит, Допустим ты на форме растянул один эдит и он у тебя всю форму закрывает, тогда координаты формы должны совпадать с координатами того эдита, который то хочеш хакнуть. Или просто задай Parent для своего Эдита окно, где был тот эдит. А при вводе в свой эдит переноси введенное в чужой. Это мутный ход но иногда он действует путево
I'm learning to live...
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение свойств кнопки через WinAPI | Никки | Win Api | 12 | 20.09.2009 15:01 |
WinApi работа с памятью, помогите! | casper123 | Помощь студентам | 5 | 15.09.2008 08:13 |
Работа с Socket-ом c помощю WinAPI | 69 region | Помощь студентам | 13 | 11.04.2008 17:22 |
Как программно назначить привилегию или писать в реестр через WinApi ? | UnD)eaD)Snake | Win Api | 16 | 27.09.2007 20:20 |