Win95では,CMenuDrawer.cppの227行目:
::InsertMenuItem( hMenu, 0xFFFFFFFF, TRUE, &mii );
でエラーが返ってきます.
第3引数がTRUEのときは第2引数に挿入位置を入れないといけないので,0xFFFFFFFFがエラーになるのは妥当な動作ではあります.
該当個所を
::InsertMenuItem( hMenu, ::GetMenuItemCount(hMenu), TRUE, &mii );
としてみたのですが,Win95ではやはり駄目.
miiの中身がまずいのかな.mii.fMaskで使わない物まで常に有効にしているのも怪しそう.
SDKを見ると,Windows 98/Me/2000/XPではfTypeはfMaskにMIIM_FTYPEが設定されていないと使われないとなっているにもかかわらず,MIIM_FTYPEは設定されていない.でも動いている.
試しに,MIIM_FTYPEを設定したらWindows 2000でもメニューが出なくなった.ということは,fTypeの設定がまずいがWin98/2K等では無視されるのでエラーにならないと解釈するのが良さそうだ.
エラーの内容は「パラメータが間違っています」です.
--
とりあえず以上.何か気づいた人は教えてください.