问候所有人,
我有一个用C#编写的shell工具栏扩展。它仅用于Windows资源管理器,因此我想阻止在Internet Explorer中加载DLL。 Windows提供了大量的方法来仅在IE中加载扩展,但似乎没有办法只执行资源管理器。我知道在加载DLL后我可以在不同的地方执行各种检查,但理想的是防止DLL加载。
现在,如果它是用C ++编写的,我会在GetModuleFileName
中调用DllMain
,检查可执行文件是否为iexplore.exe
,如果是,则返回false。但是C#中没有DllMain
;微软不相信我们对装载机锁定很好。有没有其他方法可以有选择地阻止加载C#DLL?
答案 0 :(得分:0)
不要在.NET中执行Shell扩展处理程序 http://blogs.msdn.com/b/junfeng/archive/2005/11/18/494572.aspx
答案 1 :(得分:0)
第3节:注册我们的AppBar http://www.codeproject.com/KB/shell/csdoesshell3.aspx?print=true
我不得不在一个单独的帖子中发送这个,因为新用户不允许在一个帖子中发送多个链接。