Запретить загрузку C # Dll для определенных приложений - PullRequest
1 голос
/ 27 ноября 2010

Привет всем,

У меня есть расширение панели инструментов оболочки, написанное на C #. Он предназначен только для использования в Windows Explorer, поэтому я хочу предотвратить загрузку DLL в Internet Explorer. Windows предоставляет множество способов загрузки расширений только в IE, но, по-видимому, нет способа сделать только Explorer. Я знаю, что после загрузки DLL я могу выполнять различные проверки в разных местах, но в идеале можно вообще запретить загрузку DLL.

Теперь, если бы это было написано на C ++, я бы вызвал GetModuleFileName в DllMain, проверил, был ли исполняемый файл iexplore.exe, и возвратил бы false при присоединении, если так. Но в C # нет DllMain; Microsoft не доверяет нам хорошо играть с блокировкой загрузчика. Есть ли другой способ, которым я могу выборочно предотвратить загрузку C # DLL?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2010

Раздел 3: Регистрация нашего AppBar http://www.codeproject.com/KB/shell/csdoesshell3.aspx?print=true

Мне пришлось отправить это в отдельном сообщении, так как новому пользователю не разрешено отправлять более одной ссылки в одном сообщении.

0 голосов
/ 27 ноября 2010

Не используйте обработчики расширений оболочки в .NET http://blogs.msdn.com/b/junfeng/archive/2005/11/18/494572.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...