Pull to refresh

Программирование для непрограммистов к 1 апреля

Reading time4 min
Views34K
Наступает один из самых веселых народных праздников – День дурака, или более политкорректно – День смеха. Соответственно, встает насущный вопрос – как подшутить над коллегами на работе, не нажив себе дополнительных врагов.

Можно, конечно, воспользоваться классическими приколами типа:
• спросить подопытного, как расшифровывается слово «ДУНЯ»; предложить свой вариант «Дураков У нас Нет»; и дождаться недоуменного «А Я?»;
• напихать в фотодатчик мышки испытуемого ворсинок или просто заклеить его скотчем (в смысле, датчик)…

Но можно применить и более высокотехнологичные и изощренные способы «сноса крыши» с помощью программ-шуток.

В принципе, в интернете можно найти и накачать кучу таких приложений. Но запуск подобных программ – весьма сомнительное и опасное занятие.

Оптимальный вариант – написать такую программу самому. О том, как это быстро сделать, не имея совершенно никаких навыков в программировании, вы узнаете в данной статье.

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, получаем окно вида:

image

Задумаемся: что самое простое, безобидное и неприятное можно подстроить игроку? Ну, разумеется, закрыть окно «Косынка». Кстати, соответствующий оператор (в переводе на английский и немного сокращенный) буквально так и выглядит: WinClose(«Косынка»):

image

Т.е. если мы запустим на компьютере пользователя программку, скомпилированную на основе этой строки кода, то окно (Win) с косынкой («Косынка») закроется (Close).

Однако тут появляется чисто организационная проблема… Вряд ли игрок в процессе игры позволит запускать у себя на компьютере какую-то там подозрительную программку. К тому же шутка потеряет факторы неожиданности и анонимности.

Поэтому логично будет поручить задачу отслеживания действий игрока самой программе.
Для этого добавим к ней простой оператор WinWaitActive(«Косынка»), что в переводе на русский означает: Жди Активации Окна «Косынка».

image

Обратите внимание, что новая строка кода встала на первое место, что вполне логично.

Теперь опять займемся чисто техническими деталями (которые для программиста очевидны, а для простого пользователя – темный лес). Во-первых, полученную программку (в дальнейшем, будем называть ее более правильным термином «скрипт») надо сохранить, а во-вторых – скомпилировать, т.е. получить на основе кода исполняемый файл (с расширением «exe», «экзешник»).

1. File –> Save As… –> CloseSol
2. Tools –> Compile –> Compile Script

В итоге (если вы не умудрились наделать ошибок в двух строках кода) в исходной папке (по умолчанию, C:\Program Files\AutoIt3\SciTE) должен появиться наш исходник CloseSol.au3 и исполняемый файл – CloseSol.exe.

Остается лишь запустить этот скрипт (CloseSol.exe) на компьютере испытуемого (например, с флэшки) и ждать его реакции.

Однако, наш скрипт, хотя и вполне работоспособный, еще весьма далек от совершенства.

Во-первых, он «одноразовый». Т.е. эффект от шутки получится весьма кратковременный. Чтобы скрипт работал до потери сознания испытуемого, просто зациклим его (скрипт) на бесконечное выполнение «операторными скобками»: Do и Until 0=1, что означает – Делай Пока 0 не станет равным 1.

image

Во-вторых, мгновенное закрытие окна – слишком простая процедура, чтобы досадить играющему. Поэтому, заставим скрипт подождать несколько секунд, пока игрок разыграется: Sleep (30000) – Спать 30000 миллисекунд (30 секунд).

image

Ну и, в-третьих, наш скрипт в процессе выполнения будет маячить в виде иконки в трее, чем быстро себя обнаружит. Поэтому спрячем его командой Opt(«TrayIconHide», 1):

image

Вот, собственно, и всё. Осталось перекомпилировать скрипт и с утра 1 апреля запустить его на компьютере подопытного (-ой). Всё остальное – дело техники. Можно, например, снять происходящее на видеокамеру и выложить в интернет. А можно просто пригласить друзей – посмотреть на реакцию игрока…

Ну и, разумеется, вы должны знать, как в любой момент прекратить это безобразие – для этого достаточно зайти в «Процессы» «Диспетчера задач» (вызывается нажатием клавиш Ctrl Alt Del) и, найдя соответствующий процесс (CloseSol.exe), закрыть его (ткнуть правой кнопкой мыши и выбрать «Закрыть процесс»).

Кстати, если обозвать скрипт каким-нибудь мудреным именем, например, service, то даже опытный сисадмин устанет искать источник проблемы. Если же программку добавить в автозапуск, то получится почти что вирус – но это уже для особо п(р)одвинутых шутников.

Ну а если серьезно, то с помощью AutoIt вы сможете с легкостью автоматизировать множество рутинных операций, на выполнение которых раньше у вас уходило очень много времени. Тем более что все необходимое ПО у вас уже установлено, а многочисленные подсказки и примеры можно найти на соответствующих форумах. Но это уже не смешно.
Tags:
Hubs:
Total votes 26: ↑17 and ↓9+8
Comments8

Articles