1

大家好,

我有一个用 C# 编写的 shell 工具栏扩展。它只打算在 Windows Explorer 中使用,所以我想阻止 DLL 在 Internet Explorer 中加载。Windows 提供了大量仅在 IE 中加载扩展的方法,但似乎无法仅在资源管理器中加载。我知道在加载 DLL 后我可以在不同的地方执行各种检查,但理想的情况是完全阻止 DLL 加载。

现在,如果它是用 C++ 编写的,我会调用GetModuleFileNameDllMain检查可执行文件是否为 ,如果是iexplore.exe,则在附加时返回 false 。但是DllMain在 C# 中没有;微软不相信我们可以很好地使用加载程序锁。有没有其他方法可以选择性地阻止加载 C# DLL?

4

2 回答 2

0

不要在 .NET 中使用 Shell 扩展处理程序 http://blogs.msdn.com/b/junfeng/archive/2005/11/18/494572.aspx

于 2010-11-27T05:43:03.193 回答
0

第 3 部分:注册我们的 AppBar http://www.codeproject.com/KB/shell/csdoesshell3.aspx?print=true

我不得不在单独的帖子中发送这个,因为不允许新用户在 1 个帖子中发送多个链接。

于 2010-11-27T05:52:10.623 回答