Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2008, 15:38   #1
Игорь22
Пользователь
 
Регистрация: 25.02.2008
Сообщений: 15
По умолчанию

Добрый день!
Большое спасибо этому чудесному сайту, большое спасибо программистам, которые отвечают на вопросы.
По сути: мне необходимо создать программу, только не знаю с какого места зайти в Делфи. Основная функция программы заключается в том, что при нажатии на любую кнопку в Windows-ce, Internet Explorer, флешь анимации (это самое главное), эта кнопка распознавалась, и в программе происходили какие нибудь действия, например записывалось что Пользователь в такое то в время нажал кнопку «добавить» во флешь анимации, или закрыть.
Распознавание кнопки хотелось бы, что происходило при помощи сравнения с таким же рисунком, например, Пользователь нажал кнопку «закрыть» далее сработала моя программа, она сравнила со своей базой кнопок «закрыть» с кнопкой которую, нажал пользователь…
Так же программа должна, сама понимать на какую кнопку нажал пользователь, просто есть кнопки, которые нельзя распознать как текст, например «>>>» что обозначает далее.
Буду рад пообщаться с умными людмию..
Игорь22 вне форума Ответить с цитированием
Старый 25.02.2008, 18:27   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Это реализуется с помощью хуков
Сначала надо ознакомиться с это темой, смотри гугль:
http://www.google.ru/search?hl=ru&q=...oogle&lr=&aq=f
http://www.google.ru/search?hl=ru&q=...q=0&oq=Setwind
rpy3uH вне форума Ответить с цитированием
Старый 26.02.2008, 10:26   #3
Игорь22
Пользователь
 
Регистрация: 25.02.2008
Сообщений: 15
По умолчанию

Да несомненно... надо хук функцию устанавливать.... А вот как мне например, выдернуть ширину высоту и расположение (X,Y) нажатой кнопке (в Intertet Explorer-e, flash), что бы потом её индифицировать?
Игорь22 вне форума Ответить с цитированием
Старый 26.02.2008, 10:39   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Игорь22 Посмотреть сообщение
Да несомненно... надо хук функцию устанавливать.... А вот как мне например, выдернуть ширину высоту и расположение (X,Y) нажатой кнопке (в Intertet Explorer-e, flash), что бы потом её индифицировать?
"Идентифицировать", видимо? Ну если, например, будет стоять хук WH_MOUSE, то каждый вызов хука будет происходить с параметром, указывающим на структуру MOUSEHOOKSTRUCT
Код:
typedef struct {
    POINT pt;
    HWND hwnd;
    UINT wHitTestCode;
    ULONG_PTR dwExtraInfo;
} MOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
где hwnd - окно, которому предназначено сообщение. Остается взять его расположение на экранечерез GetWindowRect, скажем, а если нужны координаты относительно родительского окна, то объединить её с GetParent и т.д.
B_N вне форума Ответить с цитированием
Старый 27.02.2008, 12:13   #5
Игорь22
Пользователь
 
Регистрация: 25.02.2008
Сообщений: 15
По умолчанию

Что то непонимаю, мне надо структуру нажатой кнопке!
Я вот устанавливаю глобальных хук на нажатие левой кнопке мыши, где мне взять параметры нажатой кнопке (кнопка которая на экране например в Internet Explorer, Internet Explorer-flash)?
Игорь22 вне форума Ответить с цитированием
Старый 27.02.2008, 12:47   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Игорь22 Посмотреть сообщение
Что то непонимаю, мне надо структуру нажатой кнопке!
Я вот устанавливаю глобальных хук на нажатие левой кнопке мыши, где мне взять параметры нажатой кнопке (кнопка которая на экране например в Internet Explorer, Internet Explorer-flash)?
А я вот пытаюсь понять, что Вы хотели сказать и не могу. Что Вы под кнопкой подразумеваете? Мышиную кнопку или ту, которая "нарисована" на экране? Если последнюю, то это тоже окно, как с ним работать смотрите выше.
B_N вне форума Ответить с цитированием
Старый 27.02.2008, 12:59   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На всякий случай добавлю пару моментов: Во-превых насколько мне извесно получить какую либо информацию о кнопках во Флеш-роликах невозможно, (без определенного геммора, конечно), во-вторых поскольку кнопки эти могут быть вовсе и не кнопками и даже не окнами, имхо, лучше всего, кликать по ним функой Mouse_event. Это опять таки субъективное мнение, ибо есть просто напросто другие способы, кликать хотя бы в том же Ослике IE. просто отловить строку которая отсылается по нажатию кнопки на сайте.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.02.2008, 17:51   #8
Игорь22
Пользователь
 
Регистрация: 25.02.2008
Сообщений: 15
По умолчанию

раскажите как сделать так, что бы нажатую кнопку иденфицировать в момент нажатия?
а неискать функцией FindWindow?

или делать снимок нажатой кнопочке?
Игорь22 вне форума Ответить с цитированием
Старый 27.02.2008, 17:59   #9
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Игорь22 Посмотреть сообщение
раскажите как сделать так, что бы нажатую кнопку иденфицировать в момент нажатия?
а неискать функцией FindWindow?

или делать снимок нажатой кнопочке?
А где Вы здесь видите упоминание FindWindow? Ставите "мышиный" хук, на каждое "мышиное" сообщение вызывается Ваша функция, в ней смотрим, какого рода сообщение и кому адресовано. Если это обычная кнопка, разбираемся с ней, если это, как справедливо заметил Stilet, "рисунок" кнопки, значит в каждом конкретном случае, думаем как выходить из положения. Что именно Вы сделать хотите?
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с нажатием кнопки мышки Zeraim Общие вопросы Delphi 2 23.05.2008 18:33
Слежение за движущимся обьектом TOR Общие вопросы Delphi 1 31.05.2007 18:28
Переход на метку нажатием кнопки Макс84 Общие вопросы Delphi 6 04.04.2007 08:59
Как запустить exe-шку нажатием кнопки???? Дамир Помощь студентам 3 04.02.2007 19:24
слежение за файлами Umen Общие вопросы Delphi 3 17.11.2006 12:38