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

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

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

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

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

Ну и ремот контрол громкости, фулскрин и прочее через веб-сервер.
42. peper- 10.02.19 18:22 Сейчас в теме
(3) Добывать руду, говорите? Лет 7-8 назад (может больше) знакомые написали свой клиент для Евы, который сначала тоже только майнил. Но ребята его быстро допилили до того, что там был целый бизнес-процесс: он начинал с регистрации триал-аккаунта, потом экипировал новый аккаунт кораблем и вооружением, потом летел мочить пиратов и собирать награды, а когда время тестового аккаунта кончалось, то все ценное передавалось на новый аккаунт. При этом, все это было многопоточно, т.е. создавался не один аккаунт, а десятки. И пиратов они мочили группой, а потому нападали на таких, на которых не всякий рядовой игрок полезет. Работал "хак" настолько хорошо, что вскоре стал приносить ребятам миллиарды внутриигровых кредитов, которые с помощью несложных пассов превращались в тысячи реальных долларов в неделю. Но, правда, недолго музыка играла. Разработчики их быстро вычислили (все-таки там тоже люди подкованные сидят, что и по самой игре понятно), связались с ними и объяснили, что если такие действия будут повторяться, то за ними придут не в виртуальной, а в реальной жизни. Ребята не стали рисковать и прикрыли лавочку. Но у меня от тех времен остались их подарки (типа Armageddon). В Еву правда уже тоже лет 7 не заходил - она мне быстро приелась. Так что может и аккаунта уже нет...
43. starik-2005 1843 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 1843 12.02.19 08:54 Сейчас в теме
(45) не знаю, как раньше, но у меня на батлшип заработать времени немного уходило даже раз в неделю играя. За месяц народ на альфе - бесплатный акк - зарабатывает на плекс, а это по теперешним деньгам три армаги)))

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

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

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

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

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

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

Вакансии

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

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день

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

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