1

皆さん、こんにちは。

C# で記述されたシェル ツールバー拡張機能があります。Windows Explorer でのみ使用することを意図しているため、DLL が Internet Explorer に読み込まれないようにしたいと考えています。Windows は IE のみで拡張機能をロードする方法を数多く提供していますが、エクスプローラのみを実行する方法はないようです。DLL がロードされた後にさまざまな場所で実行できるさまざまなチェックがあることはわかっていますが、DLL がまったくロードされないようにすることが理想的です。

ここで、C++ で記述されている場合は、 を呼び出しGetModuleFileNameDllMain、実行可能ファイルがiexplore.exeであるかどうかを確認し、そうである場合はアタッチ時に false を返します。しかしDllMain、C# にはありません。Microsoft は、私たちがローダー ロックをうまく扱うことを信頼していません。C# DLL の読み込みを選択的に防止できる他の方法はありますか?

4

2 に答える 2

0

.NETでシェル拡張ハンドラーを実行しないでください http://blogs.msdn.com/b/junfeng/archive/2005/11/18/494572.aspx

于 2010-11-27T05:43:03.193 に答える
0

Section 3: Registering our AppBar http://www.codeproject.com/KB/shell/csdoesshell3.aspx?print=true

I had to send this one in a separate post as a new user is not allowed to send more than one link in 1 post.

于 2010-11-27T05:52:10.623 に答える