0. slava_1c 479 02.04.17 23:06 Сейчас в теме

Автокликер для 1С

Внешняя обработка, запускаемая в обычном (неуправляемом) режиме для автоматизации действий пользователя (кликер). ActiveX компонента, используемая в обработке, получает события от клавиатуры и мыши по всей области экрана в любом приложении и транслирует их в 1С, получает информацию о процессах, текущем активном приложении, выбранном языке в текущем приложении, умеет сохранять снимки произвольной области экрана, активных окон, буфера обмена, а также, в режиме воспроизведения умеет активировать описанные выше события. Все методы и свойства компоненты доступны при непосредственной интеграции в 1С. Примеры обращения к компоненте представлены в открытом коде обработки.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. madonov 153 03.04.17 03:29 Сейчас в теме
Охохох, вот это троянец.
Можно много чего узнать о пользователях. Добавьте возможность получения изображений с экрана и вебки =) .
manlak; Anchoret; +2 Ответить
5. slava_1c 479 04.04.17 04:52 Сейчас в теме
2. slava_1c 479 03.04.17 03:43 Сейчас в теме
)) Ну такой "незаметный" троянец в виде 1с))
получение области экрана есть в активиксе, правда в приватных функциях - не придумал если честно как это в скрипте использовать, если только образы анализировать и юзеру говорить что на них изображено.
3. starik-2005 1745 03.04.17 10:22 Сейчас в теме
В Линухе есть такая забавная утилитка xdotool, которая умеет двигать мышкой, нажимать на кнопки и прочее. Я как-то в Еве-онлайн целый скрипт написал на php, добывающий с астероидов руду - чисто прикольно было смотреть на то, как самолет летит в пояс астеров, находит там нужный астер, пилит с него руду, потом летит на станцию, продает и так по кругу. И ни один 1С не пострадал.

Ну и ремот контрол громкости, фулскрин и прочее через веб-сервер.
42. peper- 10.02.19 18:22 Сейчас в теме
(3) Добывать руду, говорите? Лет 7-8 назад (может больше) знакомые написали свой клиент для Евы, который сначала тоже только майнил. Но ребята его быстро допилили до того, что там был целый бизнес-процесс: он начинал с регистрации триал-аккаунта, потом экипировал новый аккаунт кораблем и вооружением, потом летел мочить пиратов и собирать награды, а когда время тестового аккаунта кончалось, то все ценное передавалось на новый аккаунт. При этом, все это было многопоточно, т.е. создавался не один аккаунт, а десятки. И пиратов они мочили группой, а потому нападали на таких, на которых не всякий рядовой игрок полезет. Работал "хак" настолько хорошо, что вскоре стал приносить ребятам миллиарды внутриигровых кредитов, которые с помощью несложных пассов превращались в тысячи реальных долларов в неделю. Но, правда, недолго музыка играла. Разработчики их быстро вычислили (все-таки там тоже люди подкованные сидят, что и по самой игре понятно), связались с ними и объяснили, что если такие действия будут повторяться, то за ними придут не в виртуальной, а в реальной жизни. Ребята не стали рисковать и прикрыли лавочку. Но у меня от тех времен остались их подарки (типа Armageddon). В Еву правда уже тоже лет 7 не заходил - она мне быстро приелась. Так что может и аккаунта уже нет...
43. starik-2005 1745 10.02.19 22:37 Сейчас в теме
(42) хорошая сказка на ночь, качественная)))
44. peper- 11.02.19 10:11 Сейчас в теме
(43) ой, я вас умоляю! У меня фантазия не настолько развита. Все основано на реальных событиях. Только про даты я не уверен. Пытался вспомнить когда же на самом деле играл в Еву последний раз. И получается, что было это не 7, а лет 10-12 назад, если не больше. Играть мы начали в 2003-м году, когда еще в SAP работал. И я не больше 2-3 лет продержался. Поэтому, наверное, ребята игру ломали тоже не 7, а 10-12 лет назад.
P.S. Так понимаю, что среди 1Сников не часто встречаются люди, пишущие на C или других «нормальных» языках, а потому, наверное, вам поверить в возможность реверс инжиниринга протокола игры трудно. Но я за несколько лет до этого на FreeHost в Warbirds летал (в самом начале 2000-х). Так что... Люди с головой и не такое могут.
45. peper- 12.02.19 01:31 Сейчас в теме
(43) Восстановил аккаунт в Еве, чтобы проверить даты. Играл даже меньше года - с конца августа 2004 по февраль 2005-го (проверил по платежам). А корабль у меня в ангаре не Армагеддон, а Апокалипс. Но с моим жалким опытом в игре на такой я никак не мог заработать, сонласитесь.
Прикрепленные файлы:
46. starik-2005 1745 12.02.19 08:54 Сейчас в теме
(45) не знаю, как раньше, но у меня на батлшип заработать времени немного уходило даже раз в неделю играя. За месяц народ на альфе - бесплатный акк - зарабатывает на плекс, а это по теперешним деньгам три армаги)))

ЗЫ: посмотрел, сколько апокалипсис ща стоит - 118М - это за неделю можно поднять на нулевом акке плекс стоит 1.5ККК.
47. peper- 12.02.19 18:21 Сейчас в теме
(46) в еве большая инфляция за эти годы, судя по всему. Раньше баттлшипы были топовыми кораблями, если правильно помню. А сейчас там какие-чуть ли не космические станции можно купить. Или я чего-то путаю? Так что наверное, сейчас это не круто. А в 2004-м я сам смог только на Каракал заработать за время игры.
48. starik-2005 1745 12.02.19 18:41 Сейчас в теме
(47) я тогда както разок зашел и вышел, не особо пошло, да и интернет был не супер. Но на сколько я знаю, т2 БШ уже тогда были, другое дело, что на триальном акке выучить БШ с пушками приличными было нереально)))
49. peper- 12.02.19 20:03 Сейчас в теме
(48) я пока играл платил, но заходил нечасто, так как было много работы.
А тогда надо было реально маньячить, чтобы время прокачки не пропускать. Поэтому у меня чар остался ламером. Даже не уверен, что я мог БШ управлять.
4. Pr-Mex 116 03.04.17 22:19 Сейчас в теме
Есть ещё SikuliX.
Умеет картинки распознавать.
JohnyDeath; +1 Ответить
6. ruizave 04.04.17 13:00 Сейчас в теме
Autoit позволяет писать более гибкие скрипты, которые кроме того можно упаковать в exe и выполнять на клиенте без зависимостей.
Кроме того там есть возможность работать не только с координатами, но и id элементами системы.
Правда он только под win если мне память не изменяет.

Скрипты autoit простые. Вполне за неделю можно освоить для создания сложных скриптов, большой пул готовых функций для работы с системой. Неплохая поддержка в виде форумов присутствует (правда если хочется сделать что-то достаточно сложное - нужно идти на англоязычные форумы)
7. slava_1c 479 04.04.17 13:20 Сейчас в теме
(6) Так здесь весь смысл в том, что эта обработка для 1С и исполняется из 1С. Т.е. можно автоматизировать любые действия и реакцию на события из других программ прямо внутри 1С. ActiveX компонент написан специально для использования в 1С. С событиями от мыши и клавиатуры и кучей других полезных функций. И позволяет записать действия и выполнить их без знания программирования вообще. Такого функционала у Autoit нет.
8. ruizave 04.04.17 13:33 Сейчас в теме
(7) Понятно. Из текста возникло впечатление, что это просто кликер. Если эта обработка работает напрямую с событиями 1С, то это другой уровень, конечно.
9. slava_1c 479 04.04.17 13:54 Сейчас в теме
(8) Спасибо. Сначала для решения своих задач я действительно использовал и Autoit и iMacros... но вот для контроля обратной связи в 1с приходилось создавать файлы, что совсем уж было костылями. Поэтому и решил написать эту компоненту а потом обработку. Она же решила проблемы с отправкой сообщения из 1С пользователям через месенджер. Надеюсь и другим поможет! )))
sulfur17; +1 Ответить
10. KroVladS 23 05.04.17 09:53 Сейчас в теме
(0)
1С:Предприятие 8.3 (8.3.9.2033)
Windows 10 x64
"Получить список процессов" - работает.
"Начать запись", тыкаю в калькулятор, платформа падает.
12. slava_1c 479 05.04.17 11:30 Сейчас в теме
(10)Ого. А если не калькулятор, а ворд или эксель? Вообщем какой нибудь другой процесс? Нет у меня к сожалению такого стенда - испытывал на win7, win serv 2008, платформы 8.3.9.1818 и 8.2.19.130 - там все норм
14. necropunk 5 05.04.17 11:37 Сейчас в теме
(12) Думаю, имеется в виду платформенный калькулятор.
15. slava_1c 479 05.04.17 11:42 Сейчас в теме
(14)На вышеперечисленных стендах любые действия не приводят к краху платформы. Есть вероятность, что в вин10 закрыли возможность получения части инфо о процессе.
16. KroVladS 23 05.04.17 11:49 Сейчас в теме
(12)
Уточнения.
Запись и воспроизведение работает внутри окна 1с.
Как только тыкаю вне окна 1с, на панель задач, на любое другое приложение платформа падает.
17. slava_1c 479 05.04.17 12:23 Сейчас в теме
(16)Понятно. Ок, поищу 10 винду, буду тестить. А два экземпляра 1с между собой работают?
11. veyron21 122 05.04.17 10:48 Сейчас в теме
Очень интересная штука. Правда не до конца понял в чем ее принципиальное отличие от остальных кликеров, запускающихся из-под Windows.
А за реализацию респект, кажется, такого тут еще не делали.
13. slava_1c 479 05.04.17 11:37 Сейчас в теме
(11) Спасибо. А принципиальное отличие в том, что написан специальный контрол, в котором есть методы обратной связи с 1С.
Прикрепленные файлы:
18. slava_1c 479 06.04.17 04:46 Сейчас в теме
Нашел платформу сервер2012 - в ней оказалась та же самая проблема, что описана Владимиром в Win10.
Оказалось, при попытке считать информацию о запускаемом модуле в некоторых программах или просто эксплорере, 1с висла намертво.
И это не смотря на то, что получение данной информации было внутри попытки.
Добавил в настройки соотвествующую галку.
Перезалил обработку с версией 2.1.5 с исправленным ActiveX.
19. alex_4x 80 25.05.17 12:47 Сейчас в теме
Очень интересно. А как осуществляется контроль ? В фоне записывать все действия мышка и клавиатура и экран? Это же потом анализировать - с ума сойдешь.
Чувствую что вещь очень нужная и полезная, но вот как применить и для чего - идей нет.
Можете по подробней описать те случаи когда вы уже используете эту компоненту ? И правильно я понимаю, что 1С должна быть обязательно активным приложением? Переключиться например в другое приложение, найти контрол по коду и ткнуть его или сделать Ctrl V Enter - можно?
20. slava_1c 479 25.05.17 16:31 Сейчас в теме
(19) Эта компонента у моих клиентов используется для отправки сообщений из месенджера и для автоматического скачивания информации о транзакциях, естественно при запущенной 1С - в ней написаны соответствующие обработки. В принципе,примерные области ее применения описаны вверху в самой публикации. "Переключиться например в другое приложение, найти контрол по коду и ткнуть его или сделать Ctrl V Enter - можно? "- разумеется. компонента для этого и разработана. Она может даже переключаться в оконном RDP! Можно также анализировать запуск любого приложения по наименованию не только запускаемого файла, но и по имени документа открытого в этом приложении, или, например, сайта.
21. slava_1c 479 25.05.17 16:36 Сейчас в теме
(19)
И правильно я понимаю, что 1С должна быть обязательно активным приложением?
Нет. Как раз компонента отсылает данные из активных приложений в 1С из которой была запущена. В виде фана попробуйте запустить эту обработку и запустить paint.net и там что то нарисовать (в фото к публикации есть примерчик))
22. slava_1c 479 25.05.17 16:37 Сейчас в теме
(21) а потом запустить записанный скрипт на исполнение.
23. v3rter 25.05.17 16:46 Сейчас в теме
(19)
Это же потом анализировать - с ума сойдешь
Теоретически это несложно: изнутри Windows все элементы всех интерфейсов выглядят в виде наборов окон - каждая надпись, кнопка, галка и т.п. - со своими идентификаторами и именами, действие "нажать мышкой" выглядит как поиск нужного системного "окна", считывание его координат и вызова команды "ткнуть мышкой" в конкретную область экрана. Сложно реализовать практически )
24. slava_1c 479 25.05.17 16:48 Сейчас в теме
(23) Не, анализировать потом как раз смысла мало - надо анализировать налету - ведь в контроле есть соотвествующие события и на перемещения мыши и на клики и на результат этого клика. Плюс картинки можно получать в момент переключения между приложениями - т.е. смотреть содержимое экрана
25. slava_1c 479 25.05.17 16:50 Сейчас в теме
Вот:
Прикрепленные файлы:
26. Makushimo 154 26.05.17 05:56 Сейчас в теме
Я правильно понял, что эта штуковина записывает действия пользователя и потом ДЕЛАЕТ все что записала так, как если бы это делал человек?
А как тогда понимать "Создание обучающих скриптов, например, для новых пользователей, либо альтернатива видео-урокам" ?
То есть в процессе обучения скрипт на компьютере пользователя будет что-то делать, а пользователь будет просто тупо смотреть. И ему не надо будет ничего повторять. Как же он чему то научится?

Или имелось в виду, когда разрабу лень гонять к пользователю, то он просто пишет скрипт, который показывает, как работает его новая фича?
29. slava_1c 479 26.05.17 13:59 Сейчас в теме
(26) "Я правильно понял, что эта штуковина записывает действия пользователя и потом ДЕЛАЕТ все что записала так, как если бы это делал человек? " - Да, конечно! Одно но. В приведенном примере она не пишет маршрут мыши - только клики и в этих точках координаты, а эмуляция перемещения - это цикл перемещения мыши от одной координаты к другой по кратчайшему расстоянию.
Но т.к. событие от мыши приходит постоянно - можно и маршрут писать.
При открытии программ лучше поставить побольше задержку, или поставить побольше пустых строк, чтобы приложение успело открыться. (в описании есть этот момент)
На счет создания обучающих роликов. В моем видении это так : Открывается эта обработка, нажимается кнопка "Запись", далее 1С сворачивается и открывается программа, в которой необходимо обучаться, возможно еще один экземпляр 1с, а может и совершенно другая программа. Когда обучающий скрипт записан, его можно сохранить и запускать в любое время, А в случае одинакового расположения программ на других рабочих столах - и на других компьютерах тоже, хотя данный момент можно универсализировать, запуская программу через Start-Run
27. RinGo 90 26.05.17 07:31 Сейчас в теме
Вопрос: можно ли использовать данный инструмент для обработки события "при нажатии клавиши, комбинации клавиш"?
30. slava_1c 479 26.05.17 14:08 Сейчас в теме
28. tjurikov_ivan 176 26.05.17 11:17 Сейчас в теме
На УФ вообще не работает? попробовал перевести, после нажатия на кнопку начать запись падает платформа.
31. slava_1c 479 26.05.17 14:19 Сейчас в теме
(28) Если четно на УФ даже не планировал.
32. tjurikov_ivan 176 26.05.17 14:44 Сейчас в теме
(31)не знаю как действует компонента, как думаете проблема в ней или искать проблему в винде или плаформе?
33. slava_1c 479 26.05.17 15:03 Сейчас в теме
(32) Может быть проблема и в винде, например было тут, что под 10-й не работала - оаказалось получение информации о запускаемом модуле в 10-й винде только под полными правами. Иначе - в ошибку вываливается. Даже если это в попытку запихнуть. Если же этой опцией не пользоваться - все работает.
34. tjurikov_ivan 176 26.05.17 15:19 Сейчас в теме
(33)ааа, ну тогда наверно в винде, у меня как раз win 10)
35. slava_1c 479 26.05.17 15:47 Сейчас в теме
Тогда вот здесь галочки стоять не должно и надеюсь все заработает.
Прикрепленные файлы:
36. tjurikov_ivan 176 30.05.17 10:52 Сейчас в теме
(35)Мне кажется я понял, но не уверен.
Как вы вставили на форму элемент ActiveX? не получается его скопировать на УФ, может проблема в этом? хотя по сути он же подключает компоненту через comОбъект.
У меня закрывается клиентское приложение после строки:
Кликер.НачатьЗапись();
37. slava_1c 479 30.05.17 14:27 Сейчас в теме
(36) "не получается его скопировать на УФ" - А это как?

В УФ же нет возможности вставки ActiveX компонента на форму - только как макет. 1С давно еще решил что это лишнее))

Вы его можете зарегистрировать и вызывать как COM-объект - все переменные, функции и события будут доступны .

Я думаю правильнее будет так: Вы эту обработку запустите в этой же базе в неуправляемом режиме, проверьте что все работает на текущей системе, а уж потом колдуйте над УФ.
38. KroVladS 23 19.10.17 16:22 Сейчас в теме
toAll
Аналогов никто не встречал?
В идеале 1с-spy++.
39. user1086933 16.11.18 18:17 Сейчас в теме
Скажите, а на winserver 2012 работать не будет?
40. slava_1c 479 16.11.18 18:52 Сейчас в теме
По идее - раз на 10 работает, то и на 2012 должен работать, не пробовал.
41. user1086933 16.11.18 21:53 Сейчас в теме
(40) понял, спасибо. Отпишусь.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 135 000 руб. до 135 000 руб.
Полный день

Программист 1С
Норильск
зарплата от 50 000 руб. до 80 000 руб.
Полный день

Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

Программист 1С
Ставрополь
зарплата от 40 000 руб. до 60 000 руб.
Полный день