自定义多级 Windows 右键菜单
我了解通过注册表等自定义右键菜单所需的过程。但是我需要能够进入多个级别,例如在 WinZip 等应用程序中。 这是一张图片,用于澄清我需要的内容
alt text http://img14.imageshack.us /img14/9658/multiplemenus.jpg
I understand the process needed to customize a right click menu going through the regedit etc. However I need to the ability to go multiple levels such as in applications like WinZip. Here's a picture for clarification of what I need
alt text http://img14.imageshack.us/img14/9658/multiplemenus.jpg
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要编写一个 Shell 扩展; 这里有一份用托管代码 (C#) 编写的指南。 它将涉及进行一系列互操作并实现 Windows shell 将使用的 COM 接口,即 IShellExtInit 和 IContextMenu。
但是,有人可能会说,在托管代码中编写 Shell 扩展是 不建议; 它将强制 Windows 资源管理器加载 CLR(或任何使用标准 Windows“打开文件”对话框的应用程序) - 本机代码 (C++) 将是更好的选择。
You need to write a Shell Extension; there is a guide for writing one in managed code (C#) here. It will involve doing a bunch of interop and implementing COM interfaces that the windows shell will consume, namely IShellExtInit and IContextMenu.
However, one could argue that writing a Shell Extension in managed code is not advisable; it will force windows explorer to load the CLR, (or any app that uses the standard windows 'Open File' dialog) - native code (C++) would be a better choice for this.