我想在32位应用程序中嵌入Windows 64位上下文菜单(类似于TotalCommander中的X64子菜单)。为此,我需要在32位侧模拟64位菜单内容。我的想法是在64位辅助进程内遍历64位菜单,并在32位端重新生成这样的内容(我也尝试直接从64位帮助程序显示这样的菜单,但是Windows很惊讶地有两个上下文菜单,每个菜单来自不同的过程,并没有正确地绘制第二个菜单)。如果您有其他想法,请告诉我。
我有一个问题:一些所有者绘制的菜单显示的项目多于GetMenuItemCount()返回的内容(通常GetMenuItemCount()在这种情况下返回1)。
有趣的是,我可以使用项目ID(从TrackPopupMenuEx()返回)为所有者绘制的菜单项使用GetMenuItemInfo(),因此这样的菜单可以为每个特定项目生成适当的信息。但不幸的是,我不能使用ID来迭代菜单项(项目ID是无序的)。
有什么想法吗?
答案 0 :(得分:4)
不确定TotalCommand是如何做到的。但我发现了这个: