Привет всем,
У меня есть расширение панели инструментов оболочки, написанное на C #. Он предназначен только для использования в Windows Explorer, поэтому я хочу предотвратить загрузку DLL в Internet Explorer. Windows предоставляет множество способов загрузки расширений только в IE, но, по-видимому, нет способа сделать только Explorer. Я знаю, что после загрузки DLL я могу выполнять различные проверки в разных местах, но в идеале можно вообще запретить загрузку DLL.
Теперь, если бы это было написано на C ++, я бы вызвал GetModuleFileName
в DllMain
, проверил, был ли исполняемый файл iexplore.exe
, и возвратил бы false при присоединении, если так. Но в C # нет DllMain
; Microsoft не доверяет нам хорошо играть с блокировкой загрузчика. Есть ли другой способ, которым я могу выборочно предотвратить загрузку C # DLL?