当使用IExecuteCommand
方法实现上下文菜单shell扩展时(如本博客文章所述),给定的菜单选项如何灰显?
计算的某些状态和条件,其中一些应该灰显,例如:如果用户右键单击某个文件并且 shell 扩展检测到此文件具有某些给定属性,则某些 shell 扩展上下文菜单选项应灰显。
如何使用IExecuteCommand
做到这一点?
还是应该使用另一个Windows Shell COM接口来实现此目的?
我从未尝试过这个,但你应该能够在动词的键中设置CommandStateHandler
(未记录?)到实现IExplorerCommandState的CLSID。
你也可以考虑实现IExplorerCommand而不是IExecuteCommand+IExplorerCommandState。
还可以根据对具有 AppliesTo
值的属性系统的查询隐藏谓词。