大家好,
我有一个用 C# 编写的 shell 工具栏扩展。它只打算在 Windows Explorer 中使用,所以我想阻止 DLL 在 Internet Explorer 中加载。Windows 提供了大量仅在 IE 中加载扩展的方法,但似乎无法仅在资源管理器中加载。我知道在加载 DLL 后我可以在不同的地方执行各种检查,但理想的情况是完全阻止 DLL 加载。
现在,如果它是用 C++ 编写的,我会调用GetModuleFileName
,DllMain
检查可执行文件是否为 ,如果是iexplore.exe
,则在附加时返回 false 。但是DllMain
在 C# 中没有;微软不相信我们可以很好地使用加载程序锁。有没有其他方法可以选择性地阻止加载 C# DLL?