C++ Builder и Проводник. Как заставить работать вместе

Дело такое. Пишу что-то вроде антивирусной утилиты, но уже второй (впрочем, третий) день сижу над одной задачей. Пытаюсь реализовать сканирование "на-лету", т.е. когда пользователь откроет какую-нибудь папку, чтобы утилита сканировала ее содержимое. Сначала пытался реализовать через модуль, написанный на AutoIt3 (там поддержка окон хорошая и простая). Потом пытался сделать хук на функции GetFileAttributes или GetFileSize. Но, как всегда, ничего не вышло.

У вас есть какие-нибудь идеи? Может через какой-нибудь COM-интерфейс можно получить данные.

Или, дайте примеры NtQuerySystemInformation и NtQueryObject, а то в инете ничего путного.

Примечание: не забывайте, что окон Проводника может быть несколько.