Сохранен 41
https://2ch.hk/pr/res/1470306.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Автоматизации тред

 Аноним 09/09/19 Пнд 12:24:19 #1 №1470306 
02li8uh6yxb11.jpg
Нуб в треди. Сейчас учу Python и хочу попрактиковаться на примере автоматизации всякой рутины на своей работе (работа офисная, Эксель, почта и вот это всё). Знаю про Automate the boring stuff with Python, но хочу послушать еще и ваши примеры. Язык может быть другим, просто интересно, как вы его применили для автоматизации повторяющихся процессов на работе и дома.
Аноним 09/09/19 Пнд 13:04:13 #2 №1470321 
бот для рассылки спама
паук для порнухи
Аноним 09/09/19 Пнд 13:06:40 #3 №1470324 
>>1470321
Второй вариант годнотища, возьму на вооружение.
Аноним 09/09/19 Пнд 17:43:25 #4 №1470496 
Много раз в шараге на матеше писал скрипты на питоне для решения задач методами, для которых не было готовых решалок.
Пару раз писал скрипты для выдёргивания закладок из наёбнувшегося браузера. Ещё что-то было для автоматической конвертации картиног в папке в PNG.
Писал макросы для ворда и экселя на VBA.
Ещё был скрипт, собиравший инфу, когда чел заходил в вк, так я примерно опередил время, когда чел спит, лол.
И ещё что-то совсем по мелочи - написал, выполнил, удалил, забыл.
sage[mailto:sage] Аноним 09/09/19 Пнд 19:06:34 #5 №1470554 
>>1470496
>vba
Что например?
sage[mailto:sage] Аноним 09/09/19 Пнд 19:07:17 #6 №1470555 
>>1470321
первое атятятя
второе не понял
вебкроулер ?
Аноним 09/09/19 Пнд 19:19:49 #7 №1470565 
>>1470554

Челу для работы было нужно, удалялись по определённым условиям строки из табличек в ворде. И кое-какая статистика считалась. Подробностей не помню, давно дело было.
Аноним 09/09/19 Пнд 19:27:59 #8 №1470571 
>>1470555
я ОП. но да, вебкроулер. очевидно, по определенным тегам или словам из зага видео. взяла идею на вооружение лул, надо попробовать.

>>1470496
всё годно, но скрипт для определения времени сна пациента - это шикарно. начинай доксинг-слежка-бизнес!
Аноним 09/09/19 Пнд 20:17:46 #9 №1470595 
>>1470571
>взяла
асечку-писечку?
Аноним 09/09/19 Пнд 20:51:17 #10 №1470604 
>>1470571
Так был же такой сайт
Аноним 09/09/19 Пнд 21:02:14 #11 №1470613 
>>1470571
Сейчас ещё подумал, можешь с kivy познакомиться, на нём можно кроссплатформенные приложения писать (но Automate boring stuff ,кажись, обошёл стороной ООП) т.е. сделай реальные рабочие приложения из своих уже написанных программ.

А вообще, если хочешь попрактиковаться, можешь проверить topcoder, acmp, timus...(но имей ввиду что там сложно будет, понадобится дополнительная лит-ра)

Аноним 09/09/19 Пнд 21:06:15 #12 №1470622 
>>1470613
Да, в Automate the boring stuff ООП вообще нет, его мне предстоит учить отдельно. спс за совет, покурю kivy. за топкодер и тд тоже спасибо, сохраню до времен, когда шмогу в такое.
Аноним 09/09/19 Пнд 21:20:00 #13 №1470626 
>>1470622
Первые шаги OOP можешь тут глянуть: https://www.kpolyakov.spb.ru/school/probook/python.htm
У него ещё и алгоритмы есть, но без задач это бесполезная вещь.
Аноним 09/09/19 Пнд 22:03:56 #14 №1470692 
>>1470626
Спасибо. Оставлю тут еще ссылки на примитивное объяснение для нубов того, что такое ООП и зачнм оно нужно, от автора Automate the boring stuff, вдруг кому пригодится.

https://inventwithpython.com/blog/2014/12/02/why-is-object-oriented-programming-useful-with-a-role-playing-game-example/

https://inventwithpython.com/blog/2017/12/20/wizmon-an-object-oriented-programming-tutorial-for-python/
Аноним 17/09/19 Втр 17:03:41 #15 №1475387 
>>1470306 (OP)
>как вы его применили для автоматизации повторяющихся процессов на работе и дома.
Для заполнения форм на html страницах можно применить "Документную объектную модель" DOM :

Я делал на VB6 (но можно на VBS, VBA, Js и иных языках) взятие в работу, закрытие нарядов, по времени, от имени дежурного смены, согласно графика.
Без этой программы надо браузер открывать в начале и в конце смены и заполнять всякие окошечки то да потому каждому дежурному и каждую смену.

Но вот чем это кончилось - дежурные года через два настолько расслабились, что когда уходят в отпуск или подменяют друг друга, забывают внести изменение в график(в программе было предусмотрено редактирование графика работы).
И после пары случаев с подобными косяками и в особенности, когда случился сбой - разработчики АРМ-а однажды сменили URL-адрес своего сервиса, моя программа перестала работать, при этом оказалось, что новый работник, который как раз дежурил, не знает, как брать наряды вручную через браузер и после того злополучного случая мой начальник приказал отключить этот сервис, но позволил оставить себе. Теперь этой прогой пользуюсь только я.

Ну, ещё есть у нас кондиционеры в машинном зале, а у них есть встроенный сервер в каждом. Кондиционеры подключены к локальной сети. Можно через браузер смотреть различную телеметрию по работе кондиционеров, типа температуру входящего воздуха, влажность, статус увлажнителя и прочее.

Тогда я сделал программу, окно которой представляет собой план машинного зала. На плане нарисовал где стоят кондиционеры и рядом с каждым цветные окошки - синие показывают текущую температуру, а зелёные влажность.
Если щёлкнуть по одному из таких окошку, то вылазит форма с графиком изменения данного параметра за последние сутки по конкретному кондиционеру.
Если какой-то кондиционер отключится по аварии, так бывает, когда свет отключался, то прога извещает, что такой-то кондиционер отключился - дежурный идёт и перезагружает.
Прога работает уже много лет - в основе всё та же DOM.

DOM управляет браузером IE либо в оконном режиме, либо в режиме ядра. К сожалению, насколько я знаю, IE - единственный браузер, поддерживающий эту технологию, однако можно с помощью DOM получать кукисы через IE, а использовать эти кукисы уже в основном браузере, например в Хроме если нужно, авторизованно заходить в свой аккаунт на каком либо сайте именно в браузере.
Такую программу я делал для техникума :

У техникума есть сайт для абитуриентов. Преподы репенились заходить в свои аккаунты и отвечать на вопросы абитуриентов до того момента, пока им приходилось вводить свой логин и пароль (я прекрасно их понимаю). Сайт сделал и администрировал племянник и они его заебали.

Поэтому мы сделали "физическую" авторизацию - преподаватель запускает "Ярлык сайта", окошко просит вставить флэшку, тот вставляет флэшку в комп, программа её видит и отправляет на сервер SN - диска флэшки, которая вставлена. Если в базе существует такой SN, то открывается браузер на страницу преподавателя, которому принадлежит флэшка данного SN.

После этого, они перестали кочевряжится, потому что им не пришлось помнить логин и пароль. На самом деле, хотя веб разработчики не всегда это понимают, необходимость помнить логин и пароль существенно напрягает пользователей сайта, поэтому если ты делаешь сайт, имеет смысл позаботится о возможности для пользователя получить хотя бы некий файлик-"ярлык" для авторизованного входа в аккаунт.
Аноним 18/09/19 Срд 00:22:04 #16 №1475769 
>>1475387
Шикарный пост. Спасибо.
Аноним 30/09/19 Пнд 15:50:00 #17 №1485470 
бамп треду.
Аноним 02/10/19 Срд 00:12:43 #18 №1486732 
>>1470306 (OP)
>Язык может быть другим, просто интересно, как вы его применили для автоматизации повторяющихся процессов на работе и дома.
Прогер - разновидность ремесла, но он ещё и писатель.

Писатель может ваять шариковой ручкой, гелиевой ручкой, наливной, карандашом(Ассемблер) или иными инструментами, суть от этого не меняется. Однако можно писать в различных жанрах :
"Автоматизация" широкое понятие, включающее в себя, в том числе и такой жанр, как "Эмуляция".

Эмуляция ввода хорошая лазейка в программирование, потому что если ты начинаешь именно с этого, то имеешь возможность с первых дней пожинать лично выстраданные плоды просвещения. Хотя плоды эти так не велики, что карьеру на них не построишь, эмуляция демонстрирует нафига оно, вообще, может оказаться надо.

Например, меня на работе есть несколько систем UPS промышленной мощности(по 60кВт) у них есть плата коммуникации с RS-232, HTML и SNMP интерфейсами. В комплект с этими машинами шла программа для мониторинга по RS-232. Программа отображает текущее состояние, энергетические показатели, результаты автоматических тестов батареи и ведёт лог всего этого в файл "Data.dat".

--- Описание проблемы : ---
Файл устроен так, что каждая строка начинается с даты и времени и является перечнем через запятую всех этих параметров. Из этого файла программа может читать и строить на основе этих записей все графики с разными интервалами выборки.
Однако недостатком программы был дурацкий алгоритм ограничения размера лога(число строк в этом файле) - по достижении недельной записи(это около трёх мегабайт), файл тупо начинается заново.
На самом деле там есть "премудрость" - маленький лог прежде чем обнулиться, сбрасывается в большой лог для накопления. Но это почти пустая затея, так как большой лог имеет тот же лимит записей размером в неделю. Регулировать можно только лимит маленького лога, но потолок тот же.
--- Решение : ---
Тогда я сделал небольшую утилиту, запускающуюся каждые полчаса по заданию системного менеджера задач.
1. "Планировщик задач" можно применить для запуска твоих утилит на периодическое выполнение или по расписанию.

Утилита работает уже лет двадцать и за это время я подправил её код лишь однажды. Просто прежняя версия должна была работать только с одной системой UPS, так как программы для мониторинга каждой системы были на отдельных ПК(изначально не сумели запихать несколько экземпляров программы на один ПК). Но через несколько лет раскопали что мешало - надо было только изменить настроечные конфиг-файлы, назначив новые имена и размещения файлов и папок.
И когда все мониторящие программы стали на один ПК, я подправил свою утилиту для работы со всеми системами UPS.

Это была вторая программа, которую я написал, первой был "Калькулятор". Нет, первой была "Хелло Ворлд", выходит, эта утилита была уже третьей программой в моей кодеро-деятельности.
Сеанс работы утилиты доли секунды - она считает, сколько в файле "Data.dat" строк, и если уже близко к лимиту, то удаляет 30 или больше строк, где записаны самые старые 30 минут данных.
Благодаря этому, файл данных не переполняется, а значит и не обнуляется ! - графики с тех пор имеют фиксированный интервал, размером в неделю.
------

Хотя, это не был пример именно "эмуляции", но с эмуляции начался мой интерес к программированию.
Что это такое ? - ты делаешь некую программку, которая управляет клавиатурой и крысой, как если бы кто-то работал ими вручную, согласно расписания и порядка действий.
Хотя примеры эмуляторов могут быть крайне простыми, всего в несколько строк, возможности изощрённых эмуляторов могут быть не малые : такая программа может оперировать другими приложениями, совершая сложные действия, применяя лишь не большой набор простых средств.

К числу минимально необходимых средств относятся : только перемещение указателя мыши, клик, двойной клик, зажимание кнопки мыши, чтобы таскать окна по экрану.
Для Клавдии - эмуляция нажатия на любые клавиши, сочетания клавиш и переключение раскладки.

Но такой эмулятор слеп.
А чтобы дать ему зрение, нужно добавить в список функциональных возможностей обнаружение нужного процесса по имени или PID-у или его отсутствие, обнаружение окна нужного класса и имени, чтение текстового содержания окна нужного класса, иерархии вложенности или иных признаков, например RECT-a(все окна системы являются родственниками друг друга, их родственные статусы проще, чем у людей, но абсолютно необходимы - нельзя добраться к возможности манипуляции над окном, не выявив его хендл, а получить хендл окна можно только в порядке получения хендлов его старших предков от стариков к деткам).
Вот и весь инструментарий ! - а делать с его помощью можно всё что может сделать человек руками, но больше этого, быстрее и точнее.

Однако и такой эмулятор не совершенен.
Чтобы сделать хороший эмулятор, он должен уметь двигать окна, нажимать на кнопки, вводить текст не мышкой, а "силою мысли", то есть иметь функционал ПЕРЕДАЧИ ОКОННЫХ СООБЩЕНИЙ.
В последнем случае, указатель мыши остаётся на экране неподвижным и мышью с клавой может ОДНОВРЕМЕННО работать человек(человек и эмулятор не будут мешать друг другу).
Кроме этого, эмулятор с таким функционалом может читать и писать в свёрнутые на панель задач или закрытые другими и находящиеся не в фокусе ввода, окна.

ОКОННЫЕ СООБЩЕНИЯ - могут нажимать на кнопки, писать в окна ввода, кликать в определённое место окна(например, в браузерах кнопки и боксы ввода не являются окнами, они нарисованные), поэтому вводить и тыкать оконным сообщением нужно не всегда в окно, но ещё и в определённое место окна. А это место приходится искать по критериям, в зависимости от координаты окна на экране и его размерам, а иногда, редко, и через анализ изображения внутри окна.

СООБЩЕНИЕМ можно задать место размещения и размеры окна, свернуть и развернуть, сфокусировать, отправить над и под другие окна, можно выбросить его за границы экрана и работать с ним там, можно скрыть его с панели задач, можно просто убрать его видимость, а можно накрыть место работы формой поверх всех окон, на которой нарисовать рабочий стол. Короче "Оконные сообщения" - это функционал, хотя и не абсолютно необходимый эмулятору, но дающий ему невиданную силу.

Приведу пример простейшего эмулятора, взаимодействующего с посторонним приложением.
--- Описание проблемы : ---
У меня на работе оперативная программа всё тех же UPS кажет текущее значение тока батареи. Если UPS, по каким-то причинам, перешёл на батарею, то значение тока делается отрицательным числом(режим разряда). "Родная" прога позволяет назначать цвет каждого индикаторного окошка в зависимости от значения в этом окошке, а вот звуковой сигнализации нету.
--- Решение : ---
Тогда я написал простую утилиту, запускающуюся при загрузке системы и работающую в не оконном режиме - она следит за значением в окошке, где отображается сила тока аккумулятора и если UPS переходит на аккумулятор в результате сбоя электропитания, планового автоматического теста батареи или, что самое главное, в результате неполадки самого UPS, то моя утилита станет периодически говорить из динамика что UPS такой-то перешёл на батарею, запишет это событие в лог, выбросит на экран аварийное окно с кнопкой "Снять звук." После нажатия на кнопку, запишет в лог, что кнопка была нажата тогда-то, уберёт окно и опять встанет на дежурство.
------
Аноним 02/10/19 Срд 06:48:26 #19 №1486842 
WordM.PNG
... Собст-но, эмуляторостроение является конструированием различных костылей, приспособ и, не побоюсь громкого слова "хренатеней" для других, написанных более умными людьми, программ, с целью дешёвыми средствами "усовершенствовать" их.

Более правильным решением является написание собственной программы, чем "усовершенствование" чужой, но во многих случаях это нам не по плечу.
Не стоит стыдится, например, написания приспособлений к "Microsoft Office Word" - это слишком мощная программа, чтобы делать аналогичный лисапед.
Однако внедрить в неё собственные кнопочки, по нажатию на которые Word будет что-ни будь делать из списка своих возможностей или даже, для чего Word не предназначен, нам вполне под силу.

Речь не идёт о макросах Офиса. Хотя язык макросов предоставляет возможности для автоматизации работы с документами, это не значит, что использовать этот язык можно только из офисных программ.
Во первых, если ты писал макросы, то, наверное, знаешь, что язык макросов VBA для Офисных приложений имеет убожественный интерфейс взаимодействия с пользователем : а именно, формами, кнопками, боксами для вывода информации является или ячейки таблицы документа или специально предусмотренные формы, вполне себе кнопочки и боксы встроенной среды разработки VBA. Однако формы эти доступны только из страницы документа. Так же, примерно, как формы на страницах браузеров.
Но говоря о внедрении кнопочек или иных элементов управления в посторонние приложения, я имею в виду не рисунки документа, а именно элементы самого приложения, не зависящие от того, какой документ в них открыт.

Любой элемент управления является окном. А его можно поставить поверх другого окна, например, окна другого приложения. И привязать к нему в качестве дочернего. При перетаскивании, сворачивании, это внедрённое окно останется на своём месте, пока твоя программа будет продолжать работать. Это дочернее окно может быть кнопкой или формой с несколькими кнопками, нажатие на которые обрабатывать будет твоя программа, а не та, в окно которой кнопки установлены. Кнопки можно нарисовать под цветовую гамму этого постороннего приложения, сделав "как будто так и было".

Я экспериментировал на эту тему дома - написал "Word_M.exe" и сменил инициализацию файлов системы, чтобы при запуске любых документов с расширениями Microsoft Office Word запускался не "Word.exe", а "Word_M.exe".
В чём разница ? - "Word_M.exe" всё равно запускает "Word.exe". Разница только в том, что вместо мелких не подвижных(нарисованных) кнопочек окна Word сворачивания, разворачивания и закрытия стоят здоровенные кнопки того же самого назначения, но подвижные утопающие, которые мне нравятся больше и мимо которых я не промахиваюсь мышкой, когда через чур пьян, шутка юмора :)

На работе потом я применил эту технологию - я сделал малюсенькую утилиту, которая при её включении из папки автозагрузки запускает все оперативные программы мониторинга UPS и в окна этих программ вставляет надписи поверх других надписей, тем самым переведя их на Русский язык - так можно русифицировать любое приложение, не владея особыми знаниями, нужными для модификации приложений.
Это было нужно ещё и чтобы одинаковые программы, мониторящие разные UPS отличались друг от друга - сделал надписи с названиями систем UPS, соответствующие схеме электроснабжения на стене. Надписи того же шрифта, что применяется в программе и на том же фоне, чтобы надписи выглядели "как будто так и было".
Утилита не ничего не делает для обработки кликов на новые надписи, она просто для оформления внешнего вида. Хотя можно было и чем-то нагрузить.
Аноним 02/10/19 Срд 08:54:16 #20 №1486861 
... Все Офисные приложения Microsoft и IE, включая Word, могут работать в режиме ядра. Процесс в диспетчере задач есть, а окна приложения - нет.
При этом, приложение предоставляет свой программный интерфейс твоей программе, которая загружает это приложение как COM объект.
Компонентная Объектная Модель - мощнейшее средство автоматизации.

Например, загрузив объект Word в своей программе, можно открывать существующие Word документы, создавать новые и редактировать их как в оконном режиме, так и в скрытом. Например, читать содержимое ячеек таблицы или вписывать что-то в эти ячейки, добавлять строки или столбцы. Можно вообще создавать новые таблицы. Писать любыми шрифтами, раскрашивать, вставлять текстуры, рисунки - всё, что способен делать Word.

На работе сделал такую программу для вывода на печать Экселевской таблицы, отражающей динамику работы компрессоров мощных холодильных агрегатов "Чиллеров" во времени за прошедшие сутки. Путём нажатия на кнопочку мониторящей эти устройства, программы.

Для этого мониторящая программа открывает Эксель как COM объект, создаёт лист в виде Экселевского файла, пишет в него заголовок таблицы с указанием даты и временного диапазона, таблицу, заполняет её значениями(временем включения и отключения того или иного компрессора того или иного Чиллера) шапка таблицы с номерами компрессоров, а сама таблица - диаграмма их работы. И посылает этот файл на принтер.

Программу писал тоже я, для самопального периферийного устройства к ПК "Адаптер для мониторинга устройств энергетического хозяйства". Адаптер изваял, ест-но тоже, он очень простой, опрашивает контактные группы магнитных пускателей, но к нему подключено много чего, чтобы облегчить труд дежурного персонала, а в отдельных отношениях, взять этот труд на себя.

Диаграмма работы компрессоров нужна для выявления неполадок холодильных агрегатов и анализа изменения суточной тепловой нагрузки в целом.
Более простого способа создать документ с диаграммой, чем воспользоваться интерфейсом соответствующего Офисного приложения, наверное, не существует.
Аноним 02/10/19 Срд 09:41:48 #21 №1486875 
>>1486842
Как же хуево жить в мире closed source.
Аноним 02/10/19 Срд 11:34:05 #22 №1486927 
>>1486875
О чём это ты ?
Аноним 02/10/19 Срд 12:53:36 #23 №1486970 
>>1470626
К учебнику Полякова есть автоматическая проверка дом.заданий, идеально для самоучек:
https://informatics.mccme.ru/course/view.php?id=666
Аноним 02/10/19 Срд 13:14:44 #24 №1486997 
>>1486970
Я другие две книги о Питоне прочитал - ни слова о вызове системных API-функций !
Меня терзают смутные сомнения - а возможно ли, хотя это лишь кошмарное наваждение, я гоню прочь эту дьявольскую мысль, что на Питоне... вызывать API функции нельзя ?
Некоторые скриптовые языки, например VBS это не умеют. А ведь Питон - скиптовый язык.



Аноним 02/10/19 Срд 13:34:52 #25 №1487011 
Не может быть.jpg
... А как же тогда ?
Возможно, этот язык является пользовательским интерфейсом другого языка, на котором написаны большинство Питоновских библиотек. И вот этот другой язык вызывать системные API, конечно, должен.
Аноним 02/10/19 Срд 17:06:06 #26 №1487245 
>>1486997
Практически из любых языков это можно делать. Гугли FFI.
Аноним 03/10/19 Чтв 00:52:40 #27 №1487598 
>>1487245
Например ?
Можно пример кода вызова, допустим, функции "FindWindow" из Питона или из VBS ?
Можи библиотека какая нужна для этого ?

Дело в том, что я ничего такого пока не видал в VBS, хотя встречал тьму кодов.
В Питоне - может быть. Однако уже в двух руководствах - ни слова. Но если такой код существует, то было бы круто !
Аноним 03/10/19 Чтв 08:52:35 #28 №1487674 
>>1487598
Для питона есть либа pywin32, даюшая winapi, но насчёт именно этой функции хз. Но если не использовать pywin32, можно самому написать расширение для python на C, которое дёргает эту функцию и оборачивает результат в питоний тип.

мимо
Аноним 03/10/19 Чтв 11:20:25 #29 №1487729 
>>1487598
https://programtalk.com/python-examples/win32gui.FindWindow/
Аноним 03/10/19 Чтв 16:24:51 #30 №1487932 
>>1487674
>Но если не использовать pywin32, можно самому написать расширение для python на C, которое дёргает эту функцию и оборачивает результат в питоний тип.
Наверное "pywin32" как раз этим и занимается, судя по тому, что имя вызываемой системной функции не передаётся в "pywin32" в параметре какого ни будь метода, а вместо этого, у неё есть одноимённые с функциями WinAPI методы.
То есть "pywin32" - это набор обёрток для системных функций.

Но поскольку в этом наборе, конечно, не могут быть обёртки для ВСЕХ системных функций, то правильным решением будет именно то, что вы и предложили - написать расширение на "C", в которое добавлять обёртки нужных функций, по мере возникновения необходимости в них. Правда, для этого нужно будет знать уже два языка !

Или Маниловский вариант - эксперт "C", например вы, должен написать такое расширение для "python", которое является ШАБЛОНОМ обёртки, и в этот шаблон можно будет вставлять нужную системную функцию. Для этого знания "C" не потребуется.
Должен быть некий "универсальный" тип. Типы всех возвращаемых системными функциями параметров надо приводить к этому единому типу, например, к массиву или к числу, которое адрес параметра. А программист на Питоне уже пускай сам думает, как он будет с этим универсальным типом данных мыкаться.

А ещё Маниловская мысль - расширение для "python" должен писать сам Питоновский код в момент его выполнения : типо нужно одну системную функцию вызвать, ПРОГРАММНО пишем на диск расширение на для вызова этой функции. Поработали с функцией, удалили расширение. Теперь надо следующую вызвать - пишем новое расширение. Я не сильно губу раскатал ?
Аноним 03/10/19 Чтв 16:46:38 #31 №1487953 
... нечто похожее на ВСТАВКУ - в высокоуровневых языках иногда делают вставку машинной инструкции.
Идея в том, чтобы, аналогичным образом, в код, написанный на скриптовом языке, например на Питоне или на VBS, вставлять функцию, создающую в режиме выполнения скрипта, программный компонент - "расширение" или библиотеку, написанную на другом языке, способном работать с WinAPI.
Расширение на "C" для Питона должно компилироваться ?
И ещё вопрос по Питону - может ли он подключаться к ActiveX DLL как VBS ?
Аноним 03/10/19 Чтв 16:49:34 #32 №1487961 
>>1487729
Браузер ругает.
"Этот сайт не может обеспечить безопасное соединение.
На сайте programtalk.com используется неподдерживаемый протокол."
Аноним 03/10/19 Чтв 17:00:03 #33 №1487975 
>>1470306 (OP)
> Язык может быть другим, просто интересно, как вы его применили для автоматизации повторяющихся процессов на работе и дома.
Скачал с порнолаба коллекцию всех видосиков одного сайта. Там была ебучая свалка, несколько сотен файлов в одной попке. С помощью петухоновского скрипта рассортировал их по имена актрис.
Аноним 03/10/19 Чтв 17:06:05 #34 №1487992 
>>1487961
Гугли programtalk win32gui.FindWindow example или открывай в другом.
Аноним 04/10/19 Птн 13:22:37 #35 №1488547 
>>1470306 (OP)
На пыхпыхе + tex запилил автоматизацию создания отчетиков в своем нии. Почему пыхпых? Потому что нативные шаблоны.
Аноним 05/10/19 Суб 00:02:44 #36 №1489025 
>>1487598
Дёргал на ноде винапи через FFI.
Долгое время у меня к ноуту в качестве второго монитора был подключен телевизор. После выхода из спящего режима VLC плеер восстанавливался на окне ноута, не телека. Написал небольшой скрипт, который висел на порту и юай к нему из трёх кнопок - запуск плеера и перетаскивание его окна на второй дисплей, закрытие плеера и загрузка торрента (подцепил ещё peerflix). Все работало просто чудесно.
Аноним 08/10/19 Втр 12:42:30 #37 №1491586 
Тред не тони!
Аноним 10/10/19 Чтв 11:30:35 #38 №1492975 
>>1470306 (OP)
Тест.
Аноним 10/10/19 Чтв 11:39:04 #39 №1492988 
Спиц170.gif
Спиц700.gif
Спиц1700.gif
>>1470306 (OP)
>хочу послушать еще и ваши примеры.
Мне обычно приходится писать программы для какой-то одной маленькой специфической задачи, которые нигде больше не применишь.

Если нужно выключать или перезагружать комп, но... перед этим выполняя некоторые действия, например записав это событие в лог, то можно сделать специальный файл-"Выключатель" на рабочий стол, который и запускать для этого.

Такой я поставил на рабочем компе, потому что работники наповадились вместо перезагрузки выполнять "сменить пользователя". Объяснить им что из за не завершения сеанса предыдущего пользователя программы, им запущенные, продолжают работать, мне не удалось, но я убедил их пользоваться этим файлом, потому что кликнуть его даже проще, чем войти в систему через "пуск".

Ещё из категории самых простых - поставил на панель быстрого запуска ярлык утилитки, при нажатии на который она помещает в буфер обмена текст "Оборудование работает в штатном режиме."
Конечно, можно было просто открывать текстовый файл, копировать эту надпись оттуда и закрыть, но ведь ТКНУТЬ НА ЯРЛЫК ПРОЩЕ !

Не давно другу понадобилось нарисовать круг-колесо именно из семнадцати спиц. Говорит - "шестнадцать я могу и сам нарисовать, но как сделать семнадцать - не представляю". Тогда я написал программу, которая может нарисовать колесо с любым заданным количеством спиц, сохранить рисунок в файл любого формата и размера(правда последнее ему не надо было, но эт я так, ради упражнений с графикой. До сих пор не могу остановится, наверное, надо чтоб колёса вращались в разные стороны, перекатывались по краям рабочего стола и шугались движения мышью, прыгая кто куда, если пользователь придёт.)

Но вот я попробовал задавать число спиц более тысячи - получаются очень быстро рассчитывающиеся фракталы. А фракталы можно применять для криптографии в качестве генератора гаммы.
Ну, типо, первый байт от Хеш суммы пароля задаёт число спиц, второй байт задаёт размер колёс, третий - их количество, четвёртый - сдвиг по оси "Х" следующего колеса от предыдущего и так далее, что-то в этом роде. В результате получится растр, изображающий свалку колёс и ободов, наложенных друг на друга - этим файлом через Xor функцию шифруем и расшифровываем данные.
Я уже делал раньше фрактальный шифратор, но он работал медленно, потому что там фрактал Julia применялся с тяжёлыми вычислениями. А можно попробовать быстрый сделать.
Аноним 10/10/19 Чтв 15:00:26 #40 №1493123 
>>1492988
Невероятно красиво. То есть это просто ты просто выводишь лучи из одной точки? Я не совсем понял алгоритма.
Аноним 10/10/19 Чтв 15:25:54 #41 №1493141 
>>1492988
пиздец как хочется сконвертировать их в аудио, но руки из жопы.
comments powered by Disqus