Написал тут журнал рабочего времени. Он перехватывает сообщения, посылаемые каркасом в документы и собирает статистику, в которой, кроме подсчёта нажатий на клавиши и кликов мышкой, определяется ещё и итоговый размер текста.
А у текстов (TextViews) есть некоторая зависимость от главнейшего модуля ядра Windows. Поскольку для перехвата сообщений журнал прямым образом встраивается в Windows, то при старте ядра происходят всякие нехорошие вещи, связанные с циклическим импортом.
Решил проблему простым хуком, который устанавливается в журнал уже после того, как прогрузится всё ядро, с помощью скрипта System\Config. То есть, зависимости от TextViews перенесены из журнала в хук.
Есть и другой способ избавления от зависимостей, это - межмодульная шина сообщений. Способ достаточно изящный и эффективный, но в данном случае не хотелось иметь никаких дополнительных привязок, ведь базовая функциональность журнала должна опираться исключительно на ядро.
А у текстов (TextViews) есть некоторая зависимость от главнейшего модуля ядра Windows. Поскольку для перехвата сообщений журнал прямым образом встраивается в Windows, то при старте ядра происходят всякие нехорошие вещи, связанные с циклическим импортом.
Решил проблему простым хуком, который устанавливается в журнал уже после того, как прогрузится всё ядро, с помощью скрипта System\Config. То есть, зависимости от TextViews перенесены из журнала в хук.
Есть и другой способ избавления от зависимостей, это - межмодульная шина сообщений. Способ достаточно изящный и эффективный, но в данном случае не хотелось иметь никаких дополнительных привязок, ведь базовая функциональность журнала должна опираться исключительно на ядро.