Author Topic: На удаленном рабочем столе 1С кликер не видит клавиатуру  (Read 4466 times)

0 Members and 1 Guest are viewing this topic.

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Добрый день:)

Странная ситуация! Если вручную делать команды горячих клавиш или нажимать клавиши, то всё работает без проблем. Если эти же действия производит кликерманн, то клавиатура не нажимается. Зато нормально работает мышь и видит картинки. Благо в 1С есть кнопки копировать и вставить, куда кликер кликает, но этого мало.

Нажать пальцем на клавиатуре например Ctrl + A и воспроизведение кликером этой же команды:
Code: (clickermann) [Select]
WAITMS (250)
KEYDOWN (#CTRL)
WAITMS (250)
KEYPRESS (#A)
KEYUP (#CTRL)
WAITMS (250)
это разные вещи?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Если вручную делать команды горячих клавиш или нажимать клавиши, то всё работает без проблем. Если эти же действия производит кликерманн, то клавиатура не нажимается.
Кликер запускать от администратора.
Нажатия клавиатуры передаются активному окну. Окно сделано активным в коде? Вот перед указанным кодом есть ещё код и какие действия там происходят?


Нажать пальцем на клавиатуре например Ctrl + A и воспроизведение кликером этой же команды:
Code: (clickermann) [Select]
WAITMS (250)
KEYDOWN (#CTRL)
WAITMS (250)
KEYPRESS (#A)
KEYUP (#CTRL)
WAITMS (250)
это разные вещи?
Для большинства программ одно и то же. Есть очень-очень мало программ, которые сознательно не обрабатывают WinApi сообщения и сами обрабатывают клавиатуру. Ни RDP ни 1С к ним не относятся. Всё прекрасно работает.
Code: (clickermann) [Select]
LCLICK(383,553) // Активируем окно 1С после запуска скрипта
WAITMS(500)

KEYDOWN(#CTRL)
WAITMS(30)
KEYPRESS(#A)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(30)

HALT


SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Если вручную делать команды горячих клавиш или нажимать клавиши, то всё работает без проблем. Если эти же действия производит кликерманн, то клавиатура не нажимается.
Кликер запускать от администратора.
Нажатия клавиатуры передаются активному окну. Окно сделано активным в коде? Вот перед указанным кодом есть ещё код и какие действия там происходят?


Нажать пальцем на клавиатуре например Ctrl + A и воспроизведение кликером этой же команды:
Code: (clickermann) [Select]
WAITMS (250)
KEYDOWN (#CTRL)
WAITMS (250)
KEYPRESS (#A)
KEYUP (#CTRL)
WAITMS (250)
это разные вещи?
Для большинства программ одно и то же. Есть очень-очень мало программ, которые сознательно не обрабатывают WinApi сообщения и сами обрабатывают клавиатуру. Ни RDP ни 1С к ним не относятся. Всё прекрасно работает.
Code: (clickermann) [Select]
LCLICK(383,553) // Активируем окно 1С после запуска скрипта
WAITMS(500)

KEYDOWN(#CTRL)
WAITMS(30)
KEYPRESS(#A)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(30)

HALT

Да, есть большой скрипт. Для теста создал этот.
Code: (clickermann) [Select]
LCLICK(815,700)  // 16777215
WAITMS(500)
KEYDOWN (#CTRL)
WAITMS (250)
KEYPRESS (#A)
WAITMS (250)
KEYUP (#CTRL)
WAITMS (250)
HALT
Запустил кликер от имени администратора. Он кликает в поле с текстом, должен выделить всё. На практике он кликает в поле с текстом и дальше ничего не происходит:(

kiril

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Вежливо объясните своей заказчице, что 1С дорожат своей репутацией и предусмотрели защиту от вмешательства ботов в работу программы, через удалённый рабочий стол. С точки зрения разработчиков 1С , такое вмешательство считается вредоносным.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Я в полной уверенности, что проверил по RDP запустил, потом написал. И только сейчас вспомнил, что у нас переделали работу убрав RDP и поставив локальные 1С.
Так что проверить не как. Рекомендую проверить у себя в другом приложении.