C# Shell Extension での InsertMenuItem について

[戻る]
borg 2013/05/21(火) 22:45:58
C# で ShellExtension (ContextMenu) を作成しています。
QueryContextMenu で、条件に従ってメニューを4個(セパレータ2個含む)
を InsertMenuItem していますが、
何故か最初のメニューアイテムだけがメニューに現れます。
具体的には、
セパレータ1、メニューA、メニューB、セパレータ2
の順で、必ずメニューA、がメニューに入ります。
AとBを入れ替えるとBが入るので、セパレータ1の次のものが
入るようです。
元はC++で作成したものがあって、今回別機能の追加を前提にC#に移植
したのですが、上記の現象が起きています。
C++で作成したものは、InsertMenu を使っていますので、
InsertMenuItem では何か制約があるのかと思い質問させてもらいました。

YuO [E-Mail] 2013/05/23(木) 03:26:36
C++でInsertMenuItemを使ったシェル拡張を書いたことがありますが,問題なく動作してい
ます。

InsertMenuItemの定義が間違っていたり,InsertMenuItemの呼び出し方を間違っていたりし
ていませんか。
メニューAとメニューBの挿入時のインデックスのインクリメントを忘れているとか。

関係する箇所を抜粋して記述してもらえれば,何らかの回答が返せるかもしれません。

古いスレッドには追加発言できません。