従来型シェル拡張(IContextMenu)
エクスプローラーや共通ファイルダイアログを開いた任意のアプリのプロセス内に読み込まれる、インプロセスCOMサーバー(DLL)として実装されるシェル拡張。
- 概念URI
https://comcomponent.com/knowledge/icontextmenu-extension/
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- 静的verbは従来型シェル拡張(IContextMenu)より先に行うべきです。要件を満たす最も単純な静的verb方式から検討すべきとされており、IContextMenuは最も強力だが最も複雑な選択肢に位置づけられている。「このアプリで開く」を実現したいだけならシェル拡張DLLは要らない。 / 確度: 確立した関係 / 確認日: 2026-08-22 出典
- 従来型シェル拡張(IContextMenu)はUIスレッドのコンテキストを前提とします。シェル拡張はエクスプローラー(およびシェルをホストするプロセス)に読み込まれるインプロセスCOM DLLで、メニュー構築はUIスレッドで行われる。ネットワークアクセスやファイルI/Oのような遅い処理をメニュー表示時に行ってはいけない。 / 確度: 確立した関係 / 確認日: 2026-08-20 出典
- 従来型シェル拡張(IContextMenu)はbitness一致要件を前提とします。インプロセスDLLは読み込むプロセスとビット数が一致しなければならず、64bit Windowsのエクスプローラーは64bitプロセスなので32bitだけのDLLは読み込まれずメニューに現れない。COM登録も32bit分はWOW6432Node側に分かれる。 / 確度: 確立した関係 / 確認日: 2026-08-22 出典
- マネージコード(.NET)を従来型シェル拡張(IContextMenu)に用いることは推奨されません。マネージコードによるインプロセスのシェル拡張実装は推奨されずサポート対象外とされている。実務の指針は、インプロセス拡張はネイティブC++で書き、マネージコードを使うならverbのcommandで起動する通常のEXEか別プロセスで動くアウトプロセス拡張にすることである。CLRのバージョン競合、ロック待ちでのメッセージループ再入、ガベージコレクションによる寿命の非決定性がCOMの参照カウント契約と衝突するためである。 / 確度: 確立した関係 / 確認日: 2026-08-22 出典
- IExplorerCommandは従来型シェル拡張(IContextMenu)の後継に当たります。従来型のIContextMenuベースのシェル拡張は削除されたのではなく、「その他のオプションを確認」で開く、Windows 10のメニューをそのまま読み込んだ旧メニュー側に退避された。 / 確度: 確立した関係 / 確認日: 2026-08-22 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。