Как залезть в чужие окна?

Достаточно часто у пользователей возникает необходимость поближе познакомиться с окном какой-либо программы или что-нибудь в нем подправить. Причины могут быть разные, да это и неважно. Главное, что такая возможность есть, если под рукой нашлись программы, разработанные компанией InqSoft: Windows Scanner и Sign 0f Misery.

Sign 0f Misery
На первый взгляд, назначение этой программы не совсем очевидно. Больше всего она напоминает какой-то конструктор алгоритмов (в общем-то, так оно и есть). Только вот назначение у этих алгоритмов весьма специфичное: управление окнами чужих программ. Читатели посообразительнее уже догадались, для чего это можно использовать, но эти цели мы обойдем стороной. У SoM есть и «мирное» применение — написание забавных программ-шуток или изготовление «патчей». Впрочем, обо всем по порядку…
Как известно, алгоритм — это некоторая последовательность команд, приводящая от исходных данных к результату (почти цитирую школьный учебник информатики). В нашем случае алгоритм (или, если хотите, программу) нужно строить из ограниченного набора команд, заданных разработчиком SoM.
Все доступные команды делятся на четыре группы («набора»), в точном соответствии со своим назначением. Перечислю эти наборы:
Стандартный. Команды из этого набора не требуют от пользователя каких-либо знаний об устройстве операционной системы или использования специальных инструментов, являются общедоступными и не могут разрушить систему даже при неправильном использовании.

InqSoft Sign 0f Misery

InqSoft Sign 0f Misery

Профессиональный. Использование команд из этого набора предполагает знание устройства операционной системы Windows. Также может потребоваться применение некоторых узкоспециализированных инструментов, например, утилит для отслеживания изменений в реестре или просмотра параметров окон. Некорректное применение функций профессионального набора может нарушить стабильность системы вплоть до приведения в полную неработоспособность (в основном это относится к функциям работы с реестром).
Набор команд «31337». Команды из данного набора помимо теоретических знаний об устройстве операционной системы и программного обеспечения требуют от пользователя практического опыта в написании своего или исследовании чужого программного обеспечения. Использование команд из данного набора подразумевает, что пользователь владеет соответствующими навыками и полностью осознает, что именно он делает. Некорректное применение команд данного набора может необратимо нарушить работоспособность как отдельных программ, так и системы в целом. Кроме того, следует помнить, что в определенных случаях использование некоторых команд (в частности, команд для написания патчей) может вступить в противоречие с действующими законами об авторских и смежных правах.
«Программирование». Данный набор объединяет команды, характерные для языков программирования, а именно: операторы условного исполнения, операторы проверки условий, метки, переходы. Команды достаточно просты и не требуют обязательного знакомства с каким-либо языком программирования (хотя, конечно, такие знания желательны). Тем не менее, неосторожное использование этих команд может породить труднодиагностируемые проблемы.

Пример патча, созданного в Sign 0f Misery

Пример патча, созданного в Sign 0f Misery

В общем, выбор у вас довольно велик. Еще раз обращаю ваше внимание, что использование некоторых команд может противоречить действующему законодательству. Поэтому будьте внимательны! Я же не несу никакой ответственности за возможный моральный или материальный вред, вызванный использованием описанных программ.
А теперь попробуем написать пару приколов, способных довести особо нервных ламеров до нервного тика (только не переусердствуйте). Для того, чтобы использовать какую-нибудь команду, нужно просто перетащить ее из списка (слева) в рабочее поле (справа). В рабочем поле положение команд можно менять, используя кнопки «Вверх» и «Вниз».
В качестве примера я выбрал два скрипта (оба входят в комплект SoM). Первый заставляет индикаторы на клавиатуре весело подмигивать. Вот его «код»:

Установить режим обработки сообщений в ядре скрипта - Быстрый - N/A
Метка - 1 - N/A
Эмулировать нажатие клавиши - NUM LOCK - N/A
Задержка с высокой точностью - 70 - N/A
Эмулировать отжатие клавиши - NUM LOCK - N/A
Эмулировать нажатие клавиши - CAPS LOCK - N/A
Задержка с высокой точностью - 70 - N/A
Эмулировать отжатие клавиши - CAPS LOCK - N/A
Эмулировать нажатие клавиши - SCROLL LOCK - N/A
Задержка с высокой точностью - 70 - N/A
Эмулировать отжатие клавиши - SCROLL LOCK - N/A
Вставить задержку - 0,1 сек. - N/A
Переход к метке (условный/безусловный) - 1 - без условия

Как видите, всё довольно просто. Собственно, здесь дела обстоят так же, как и при изучении любого языка программирования: качество программы в значительной мере зависит от программиста.
Само собой, приведённые примеры демонстрируют далеко не все возможности SoM, но для понимания общих принципов работы их вполне достаточно. Как вы уже, наверное, заметили — все команды написаны на чистом русском языке, что выгодно отличает SoM от множества других средств разработки. Хотя, с другой стороны, языки программирования гораздо гибче…

Редактор меню

Редактор меню

Что еще нужно отметить? Да пожалуй, я уже сказал достаточно, и вы можете решить для себя — нужна вам эта программа или нет. Ах, да! Забыл упомянуть — после компиляции скрипта вы получите самый обычный .exe-файл (очень маленького размера), не зависящий от чего-либо…

Windows Scanner
Как показывает практика, при использовании SoM довольно часто возникает необходимость в тщательном исследовании чужих окон. Для этих целей автор SoM разработал инструмент Windows Scanner, первоначально являвшийся частью SoM, но по мере роста возможностей переросший в самостоятельную программу.
Использовать WS очень просто: выбираете нужное окно, перетаскиваете на него «прицел» и получаете подробную информацию (класс, заголовок, handle и тому подобное).

InqSoft Windows Scanner

InqSoft Windows Scanner

Но функции WinScanner’а не ограничиваются только лишь просмотром информации. С его помощью можно «залезть» гораздо глубже. Например, исследовать главное меню какой-нибудь программы на наличие скрытых пунктов (такое иногда встречается) или же изменить размеры окна (бывает полезно, если у вас установлены нестандартные размеры шрифтов, и некоторые элементы окна оказались «за кадром»).
В общем, вещь в хозяйстве полезная… Особенно в связке с SoM.

Вывод
Если вам вдруг очень захотелось исследовать чужое окно, подшутить над приятелем-компьютерщиком или же сделать патч, но при этом вы не знаете ни одного языка программирования, то представленные сегодня программы — это то, что вам нужно.
Еще раз обращаю ваше внимание на то, что использовать эти программы нужно с большой осторожностью, дабы избежать неприятных последствий…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *