0

エクスプローラーでファイルを右クリックすると、コンテキストメニューを追加しようとしています。

IFACEMETHODIMP FContextMenuExt::QueryContextMenu(
HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
{
    ...
    InsertMenuItem(hMenu, 0, TRUE, &mii);
    ...
}

メニューが追加されましたが、メニューが一番上に配置されませんでした。5位か6位のようです。

誰かアドバイスをいただけますか?

4

1 に答える 1

1

コンテキスト メニュー項目の位置を提供することは想定されていません。シェルは、いくつかのソース (独自の GUI 項目、コンテキスト メニュー ハンドラー、レジストリ コマンドなど) から取得した項目/コマンドを使用してコンテキスト メニューを構築します。コンテキスト メニュー ハンドラーは、構築中のメニューにコマンドを追加するように要求され、メニュー オーナーは項目の追加を続行します。 、メニューの上部を含みます。

フックを設定して、メニュー ポップアップをインターセプトし、それがユーザーに表示される前と完全にビルドされた後に更新することもできますが、これは実際に行うべきことではありません。

于 2012-03-04T09:36:34.830 に答える