带有子菜单返回的iiexplorecommand上下文菜单空为目录背景的空iShellitemArray使用经典上下文菜单单击

问题描述 投票:0回答:1
I基于Microsoft的示例

HERHE实现了上下文菜单处理程序,该示例使用了IExploreCommand

代码显示上下文菜单,带有子菜单,可以使用Windows 11现代和经典上下文菜单。因此,我的msix软件包或我的appxmanifest.xml文件没有问题。
问题是,当使用经典上下文菜单(Windows 10或Windows 11 Shift-right-click)时,用户右键单击目录背景时是空的。使用Windows 11 Modern Context菜单时,它可以正常工作。

当我制作一个根本没有子菜单的上下文菜单时,IshelliTemArray包含具有目录背景的文件夹路径,无论是经典还是现代上下文菜单。仅当上下文菜单在经典上下文菜单中具有一个或多个子菜单时,它才是空的。另请注意,右键单击文件和文件夹仍在填充Ishellitemarray,如预期是否存在子菜单。 there是一个最小的例子,证明了问题:

IShellItemArray

	

在各种上下文(称为方法,包装,Windows的版本等)上进行详尽,Windows可能并不总是提供有关当前文件夹的信息。

获得它的一种方法是在实现

iexplorerCommand

的com对象中实现

IObjectWithSite
,并使用传递的网站确定什么是当前文件夹,类似的内容:
c++ dll com contextmenu windows-shell
1个回答
0
投票

注:这也适用于其他IexplorerCommand方法,例如GetState等。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.