Перейти к содержимому

Фотография

Клик по кнопке с Shift


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 timursmeta

timursmeta

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Тимур

Отправлено 30 июня 2010 - 08:56

Уважаемые, подскажите пожалуйста, как можно написать скрипт, который кликнет левой клавишей мышки по кнопке с зажатым Shift используя метод CallObjectMethodAsync и без использования координат?

Следующий пример кода гинирид исключение.

aBt := GetButtonAction;
  Runner.CallObjectMethodAsync(aBt, 'Click(skShift)');

  • 0

#2 timursmeta

timursmeta

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Тимур

Отправлено 30 июня 2010 - 10:02

Уважаемые, может коме пригодиться...
Sys.Desktop.KeyDown(Win32API.VK_SHIFT);
try
  Runner.CallObjectMethodAsync(aBtnDel, 'Click');
finally
  Sys.Desktop.KeyUp(Win32API.VK_SHIFT);
end;

  • 0

#3 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 30 июня 2010 - 14:40

Runner.CallObjectMethodAsync(aBt, 'Click', -1, -1, skShift);
Координаты (-1, -1) означают центр объекта.
  • 0

#4 timursmeta

timursmeta

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Тимур

Отправлено 01 июля 2010 - 05:45

Координаты (-1, -1) означают центр объекта.

Удобно!!!

Runner.CallObjectMethodAsync(aBt, 'Click', -1, -1, skShift);

Попробовал вызвать этот метод и действительно сработало, но не на всех кнопках. Например на TBitBtn работает без проблем, а вот TBDock1-->TBToolbar1-->TSpeedButton пишет в лог Asynchronous object call failed.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных