Отправляет email-рассылки с помощью сервиса Sendsay

[TC] требуется скрипт

Приветствую!

Возникла необходимость с определенной периодичностью совершать клик мышкой по
определенной точке на экране.
Подскажите как в джозе можно реализовать такой скрипт?

Заранее благодарен!

С уважением, Владислав!

Ответить   Thu, 16 Apr 2009 21:40:54 +0300 (#846316)

 

Ответы:

Доброго времени суток, Влад.

Из сообщения от 16.04.2009 21:48:

Схематично это может выглядеть следующим образом:

Globals
int ScFuncID ; идентификатор для ScheduleFunction

; скрипт для включения режима "кликания"

Script PeriodicalMouseClickOn ()
PMClick()
EndScript

; собственно ScheduleFunction

Void Function PMClick ()
; параметры - x,y-координаты мыши и тип курсора (1 - jaws)
ClickAtPoint (203,303, 1)
;beep() можно использовать для отладки
Let ScFuncID = ScheduleFunction ("PMClick", 30)
; 30 - интервал времени в десятых долях секунды
EndFunction

; скрипт выключения режима "кликания"

Script PeriodicalMouseClickOff ()
UnScheduleFunction (ScFuncID)
EndScript

Далее добавляйте по вкусу сохранение позиции и типа курсора,
возвращение сохраненных значений,
если надо, и другие "бантики" :).

С уважением, Руслан Усачев
RUsach***@t*****.by

Ответить   Руслан Усачев Thu, 16 Apr 2009 22:47:53 +0300 (#846344)

 

Спасибо за помощь!

А как я могу получить эти самые точки, т.е. x и y?

Ответить   Thu, 16 Apr 2009 23:04:29 +0300 (#846347)

 

Доброго времени суток, Влад.

Из сообщения от 16.04.2009 23:10:

установите курсор в необходимое место ,
т. е. приготовьтесь проделать операцию нажатия вручную.
Комбинация Alt+Del выдаст Вам тип текущего курсора
и координаты X, Y текущей позиции курсора.
Либо пользуйтесь другими функциями jaws, устанавливающими курсор на
необходимый элемент,
или возвращающими дескриптор оного.
Но это уже более сложный путь,
хотя и более правильный :).
Я показал Вам только принцип.

С уважением, Руслан Усачев
RUsach***@t*****.by

Ответить   Руслан Усачев Fri, 17 Apr 2009 05:55:37 +0300 (#846410)

 

привет Руслан!
ц
установите курсор в необходимое место ,

Комбинация Alt+Del выдаст Вам тип текущего курсора
и координаты X, Y текущей позиции курсора.
не всё так просто.
включаю JAWS курсор.
становлюсь для примера на ваше письмо
на фразу
"Доброго времени суток, Влад."
на букву Д
и проделываю всё что вы предложили.
данные такие:
JAWS курсор активен 213 на 510
тоесть JAWS нам честно сообщает где мы находимся от верхнего и левого краёв
экрана.
и всё бы хорошо,
но окна далеко не всегда имеют статичное положение.
их могут зрячие двинуть мышкой,
может быть различное разрешение монитора и т.д.
выясняем например классс с именем
или ид окна,
чтобы можно было в нужный момент получить ручку окна.
так же выясняем расстояния от левого и верхнего краёв текущего окна до
установленного . указателя мышки.
теперь достаточно в нужный момент получить ручку и позиционировать JAWS
курсор на выясненные расстояния.
теперь конкретно на примере вашего письма
его окно имеет нулевой Id
значит в дереве окон прийдётся использовать метод поиска окна по классу и
имени.
класс
Internet Explorer_Server
имя
обломись,
имени нет,
но да ладно, обойдёмся.
заранее выясняем что буква "Д"имеет координаты относительно краёв окна такие
10 и 26
(сразу отвечаю что это технология NK,

ну или если не выражаться,

, то просто дополнительные скриптыMagicSquare, что пришлось написать при
работе в проекте NK(скрипты для плагинов Sonar))

и так скрипт:

Script SayPosition ()

var

handle hWindow

let hWindow=FindWindow (GetAppMainWindow (GetCurrentWindow ()), "Internet
Explorer_Server", "")

if MoveToWindow (hWindow ) then

MoveTo (10+GetWindowLeft (hWindow ),26+GetWindowTop (hWindow ))

SayChunk ()

PCCursor ()

EndIf

EndScript

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

мышка всегда станет на одно и тоже место внутри окна.

ну а далее вам думать,

кликать читать или проверять что написано.

копировать это и компилить конечно можно,

но предварительно просмотреть концы строк на предмет невидимых символов,

добавленых оутлуком.

и ещё пару слов о скриптинге:

TypeCurentScriptKey

не всегда спасает,

иногда приходится пользовать альтернативы типа

{нажатие клавиши}

или вызов нужной функции или скрипта.

так что если вам посоветовали а у вас неполучилось,

не спешите ругать советчика,

а попробуйте другие методы.

JAWS програмирование - это програмирование в котором помимо знания языка
скриптов,

приходится иногда просто перебирать варианты.

конечно, чем лучше знаешь язык, тем вариантов меньше.

успехов

Виктор Горелов

Ответить   Fri, 17 Apr 2009 08:16:49 +0400 (#846427)