避免其他应用程序加载我的dll

避免其他应用程序加载我的dll,dll,Dll,我已经创建了一个ContextMenu DLL(用于显示图标覆盖和其他shell上下文菜单),并将其注册到我的系统中 事实上,由于它是一个上下文菜单dll,我希望只有explorer exe应该加载我的dll。但在我的例子中,像“Thunderbird”、“Process Explorer”、“Visual studio”这样的应用程序。。。等都在使用我的dll 有没有办法避免其他应用程序使用我的dll。我只希望explorer exe加载我的dll。有没有办法在我的dll中检查这个 提前感谢。

我已经创建了一个ContextMenu DLL(用于显示图标覆盖和其他shell上下文菜单),并将其注册到我的系统中

事实上,由于它是一个上下文菜单dll,我希望只有explorer exe应该加载我的dll。但在我的例子中,像“Thunderbird”、“Process Explorer”、“Visual studio”这样的应用程序。。。等都在使用我的dll

有没有办法避免其他应用程序使用我的dll。我只希望explorer exe加载我的dll。有没有办法在我的dll中检查这个


提前感谢。

DllMain
中,您可以测试加载dll的exe文件的名称,其中respoct of
GetModuleFileName
以NULL作为第一个参数。如果一个错误的exe试图加载您的dll,
DllMain
会返回
FALSE

为什么要这样做?它给任何人带来了什么好处?请注意,其中包含文件对话框的任何内容实际上可能需要上下文菜单dll。