[Из песочницы] Программирование для непрограммистов к 1 апреля
Наступает один из самых веселых народных праздников — День дурака, или более политкорректно — День смеха. Соответственно, встает насущный вопрос — как подшутить над коллегами на работе, не нажив себе дополнительных врагов.Можно, конечно, воспользоваться классическими приколами типа: • спросить подопытного, как расшифровывается слово «ДУНЯ»; предложить свой вариант «Дураков У нас Нет»; и дождаться недоуменного «А Я?»; • напихать в фотодатчик мышки испытуемого ворсинок или просто заклеить его скотчем (в смысле, датчик)…
Но можно применить и более высокотехнологичные и изощренные способы «сноса крыши» с помощью программ-шуток.
В принципе, в интернете можно найти и накачать кучу таких приложений. Но запуск подобных программ — весьма сомнительное и опасное занятие.
Оптимальный вариант — написать такую программу самому. О том, как это быстро сделать, не имея совершенно никаких навыков в программировании, вы узнаете в данной статье.1. Скачиваем и устанавливаем необходимое программное обеспечение. Например, с официального сайта: www.autoitscript.com/cgi-bin/getfile.pl? autoit3/autoit-v3-setup.exe
2. Дополнительно можно скачать русскую книгу-руководство: autoit-script.ru/autoit_rv_ua/files/Other/AutoIt_v3_Kratkoe_Rukovodstvo.pdfИ установить русский Help (справку): u.to/KfkBAQ (подробнее, на autoit-script.ru/index.php? topic=10070.0)
3. Заходим в папку установки. По умолчанию, C:\Program Files\AutoIt3\SciTE. Далее запускаем редактор SciTE.exe.
На этом подготовительная часть окончена — можно приступать к «программированию».
Замечено, что многие офисные сотрудники (особенно,»-цы») играют на рабочем месте в простейшие компьютерные игры, классическим примером которых является пасьянс «Косынка». Вот на ней мы и поэкспериментируем. Кстати, вместо «Косынки» можно использовать практически любую другую программу — достаточно заменить тайтл «Косынка» (имя окна в левом верхнем углу на соответствующее название приложения).
Итак, запустив редактор SciTE.exe, получаем окно вида:
Задумаемся: что самое простое, безобидное и неприятное можно подстроить игроку? Ну, разумеется, закрыть окно «Косынка». Кстати, соответствующий оператор (в переводе на английский и немного сокращенный) буквально так и выглядит: WinClose («Косынка»):
Т.е. если мы запустим на компьютере пользователя программку, скомпилированную на основе этой строки кода, то окно (Win) с косынкой («Косынка») закроется (Close).
Однако тут появляется чисто организационная проблема… Вряд ли игрок в процессе игры позволит запускать у себя на компьютере какую-то там подозрительную программку. К тому же шутка потеряет факторы неожиданности и анонимности.
Поэтому логично будет поручить задачу отслеживания действий игрока самой программе.Для этого добавим к ней простой оператор WinWaitActive («Косынка»), что в переводе на русский означает: Жди Активации Окна «Косынка».
Обратите внимание, что новая строка кода встала на первое место, что вполне логично.
Теперь опять займемся чисто техническими деталями (которые для программиста очевидны, а для простого пользователя — темный лес). Во-первых, полученную программку (в дальнейшем, будем называть ее более правильным термином «скрипт») надо сохранить, а во-вторых — скомпилировать, т.е. получить на основе кода исполняемый файл (с расширением «exe», «экзешник»).
1. File –> Save As… –> CloseSol2. Tools –> Compile –> Compile Script
В итоге (если вы не умудрились наделать ошибок в двух строках кода) в исходной папке (по умолчанию, C:\Program Files\AutoIt3\SciTE) должен появиться наш исходник CloseSol.au3 и исполняемый файл — CloseSol.exe.
Остается лишь запустить этот скрипт (CloseSol.exe) на компьютере испытуемого (например, с флэшки) и ждать его реакции.
Однако, наш скрипт, хотя и вполне работоспособный, еще весьма далек от совершенства.
Во-первых, он «одноразовый». Т.е. эффект от шутки получится весьма кратковременный. Чтобы скрипт работал до потери сознания испытуемого, просто зациклим его (скрипт) на бесконечное выполнение «операторными скобками»: Do и Until 0=1, что означает — Делай Пока 0 не станет равным 1.
Во-вторых, мгновенное закрытие окна — слишком простая процедура, чтобы досадить играющему. Поэтому, заставим скрипт подождать несколько секунд, пока игрок разыграется: Sleep (30000) — Спать 30000 миллисекунд (30 секунд).
Ну и, в-третьих, наш скрипт в процессе выполнения будет маячить в виде иконки в трее, чем быстро себя обнаружит. Поэтому спрячем его командой Opt («TrayIconHide», 1):
Вот, собственно, и всё. Осталось перекомпилировать скрипт и с утра 1 апреля запустить его на компьютере подопытного (-ой). Всё остальное — дело техники. Можно, например, снять происходящее на видеокамеру и выложить в интернет. А можно просто пригласить друзей — посмотреть на реакцию игрока…
Ну и, разумеется, вы должны знать, как в любой момент прекратить это безобразие — для этого достаточно зайти в «Процессы» «Диспетчера задач» (вызывается нажатием клавиш Ctrl Alt Del) и, найдя соответствующий процесс (CloseSol.exe), закрыть его (ткнуть правой кнопкой мыши и выбрать «Закрыть процесс»).
Кстати, если обозвать скрипт каким-нибудь мудреным именем, например, service, то даже опытный сисадмин устанет искать источник проблемы. Если же программку добавить в автозапуск, то получится почти что вирус –, но это уже для особо п (р)одвинутых шутников.
Ну, а если серьезно, то с помощью AutoIt вы сможете с легкостью автоматизировать множество рутинных операций, на выполнение которых раньше у вас уходило очень много времени. Тем более что все необходимое ПО у вас уже установлено, а многочисленные подсказки и примеры можно найти на соответствующих форумах. Но это уже не смешно.