MVV

|
Posted: Fri Apr 16, 2010 17:04 Post subject: |
|
|
Объясню то, что написал на оф. форуме, но по-русски. Если ты обрабатываешь в хуке сообщения клавы и мыши, ты можешь удалять невыгодные тебе сообщения (обычно в конце хук-обработчика нужно вызывать CallNextHookEx, но в этих обработчиках можно просто вернуть ненулевое значение - и сообщение дальше твоего хука не пойдет). Т.е. ты ловишь попытку юзера нажать Enter или сделать двойной щелчок на элементе ".." до того как ТК получит это сообщение и, если видишь, что при таком раскладе юзер попадет в Сетевое окружение, просто удаляешь сообщение, а ТК говоришь перейти в нужный тебе каталог. В итоге ТК вообще не узнает о том, что юзер хотел зайти в Сетевое окружение.
Ловить двойной щелчок или нажатие Enter несложно, далее просто получаешь индекс текущего элемента - если ноль, значит, это элемент "..". Далее, если ноль (если не ноль, надо вызывать следующий обработчик и не тормозить систему лишний раз), начинаешь проверять текущий путь - например, как я писал, получаешь его из поля строки состояния (при инициализации плагина один раз получаешь его дескриптор и запоминаешь - он не изменится до закрытия ТК) и определяешь, верхний ли это уровень. Если да - действуешь. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|