CaptainFlint

Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору BVV63 Цитата: Уточню: как TC грузит плагины и расширения Проводника? Они же должны загружаться сразу после того как пользователь зарегистрируется в системе (при условии, что Explorer.Exe является оболочкой Windows по умолчанию). | С технической точки зрения расширения — это обычные DLL. Explorer.exe их, может быть, и подгружает в самом начале, я не знаю. Но это совершенно несущественно, ведь Тотал — это же другой процесс! Со своим адресным пространством, не имеющим ни малейшего отношения к адресному пространству процесса Проводника. При запуске Тотала часть библиотек загружается в его адресное пространство автоматически, самой системой: это как системные библиотеки, перечисленные в таблице импорта файла totalcmd.exe (kernel32.dll, user32.dll и т.д.), так и общесистемные хуки, установленные сторонними приложениями (такими как Punto Switcher). А уже потом, в процессе работы Тотал грузит некоторые библиотеки по своей инициативе: это плагины, подгружающиеся по мере необходимости, это дополнительные библиотеки для распаковки разного рода архивов, для работы с SSL, а также это библиотеки расширений Проводника, которые сами по себе Тоталу нафиг не сдались, но которые необходимо загрузить и обработать при создании и отображении контекстного меню. Ведь Тотал не обращается непосредственно к процессу explorer.exe, требуя от него вывести меню. Он строит его самостоятельно, в контексте своего процесса. И, естественно, все необходимые для этого библиотеки он вынужден подгружать. А как именно он их будет подгружать — вот это и регулирует ключ DllLoad.
---------- Почему же, ё-моё, ты нигде не пишешь "ё"? |
|