# События

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

- OnBeforeCompilation
- OnBeforeSaveFile
- OnBeforePackFile
- OnAfterSaveFile
- OnAfterCompilation

    function OnBeforeCompilation()

    end

Событие вызывается на этапе формирования списка защищаемых объектов. В обработчике OnBeforeCompilation можно добавить в проект новые процедуры, а также изменить или удалить уже существующие.

    function OnBeforeSaveFile()

    end

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

    function OnBeforePackFile()

    end

Событие вызывается перед упаковкой защищенного файла приложения. Используя OnBeforePackFile можно внести изменения в файл, который будет упакован. Данное событие вызывается только при использовании опции "Упаковать выходной файл".

    function OnAfterSaveFile()

    end

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

    function OnAfterCompilation()

    end

Событие вызывается после компиляции всех объектов, входящих в проект. На данном этапе пользователю доступен откомпилированный файл, над которым могут быть выполнены любые необходимые действия, например добавление электронной подписи (сертификата).

При написании обработчиков событий можно создавать собственные процедуры и функции. Имена событий отображаются в редакторе скрипта жирным шрифтом.

© 2006-2015 Copyright VMProtect Software