Click

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Цезарь
Новичок
Сообщения: 13
Зарегистрирован: 22 Май 2007, 1:56

Click

Сообщение Цезарь »

Как программно осуществить click мыши в заданном месте?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Click

Сообщение Yufil »

Цезарь писал(а):Как программно осуществить click мыши в заданном месте?
Вполне возможно, что тебя устроит команда Post(Event:accepted,?Control)
Цезарь
Новичок
Сообщения: 13
Зарегистрирован: 22 Май 2007, 1:56

Сообщение Цезарь »

Наверное нет.
Поставили такую задачу:
Нужно записывать в макрос все происходящее на экране (например вызов окна, внесение туда данных, закрытие). А потом его пускать на выполнение. Все должно работать в рамках одного приложения.
P.S. Мне не нужно готовых решений, хотя бы какие-нибудь соображения.
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

а приложение твое или произвольное?
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

...вот такой вариант...
вешать глобальные хуки на клавиатуру и мышь
писать куда нибудь действия только для выбранного приложения... которое активно на данный момент, например

тут на первый взгляд нехороший момент с координатами мыши... окно при повторном открытии может быть сдвинуто, например... думать вообщем надо :) может писать относительные координаты или записывать ко всему прочему еще и координаты окон...

про хуки можно почитать здесь http://pisoft.ru/ "Верстак" ClarionInsider статья "Фильтры сообщений 101"
зы: сорри директ линка нет

про локальные (для общего развития :) здесь http://www.clarionlife.net/content/view/78/29/

итоговая реализация будет канать для любых приложений

если приложение твое собственное, ... как-то по другому можно наверное
Денис
Бывалый
Сообщения: 70
Зарегистрирован: 07 Июль 2005, 5:39
Откуда: Хабаровск
Контактная информация:

Сообщение Денис »

Интересная задача. По возможности пиши что получится :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сообщение Yufil »

Цезарь писал(а):Наверное нет.
Поставили такую задачу:
Нужно записывать в макрос все происходящее на экране (например вызов окна, внесение туда данных, закрытие). А потом его пускать на выполнение. Все должно работать в рамках одного приложения.
P.S. Мне не нужно готовых решений, хотя бы какие-нибудь соображения.
А зачем тебе писать ВСЁ - глупые нажатия клавиатуры, пассы мышью и так далее. Тебе надо фиксировать только и исключительно ввод данных и обработку двух-трёх событий (Event:Selected, Event:Accepted, Event:CloseWindow) а больше ничего.

А вот пуск на выполнение макроса - штука достаточно сомнительная, потому как небольшое изменение начальных условий всё испортит..
Цезарь
Новичок
Сообщения: 13
Зарегистрирован: 22 Май 2007, 1:56

Сообщение Цезарь »

(потому как небольшое изменение начальных условий всё испортит)

Вот это меня и волнует. Можно конечно сделать определенный формат макроса. Потом заполнять его вручную.
Это будет очень муторно, неудобно и долго. Нужно как-то оптимизировать этот процесс. Пока решения не нашел.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сообщение Yufil »

Цезарь писал(а):(потому как небольшое изменение начальных условий всё испортит)

Вот это меня и волнует. Можно конечно сделать определенный формат макроса. Потом заполнять его вручную.
Это будет очень муторно, неудобно и долго. Нужно как-то оптимизировать этот процесс. Пока решения не нашел.
А не расскажешь - зачем?
Цезарь
Новичок
Сообщения: 13
Зарегистрирован: 22 Май 2007, 1:56

Сообщение Цезарь »

Как все получится, так все и расскажу.
Ответить